ilch Forum » Allgemein » HTML, PHP, SQL,... » mssql_result problem

Geschlossen
  1. #1
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    guten abend!

    ich sitz mal wieder seit stunden an einem problem und weis langsam nich mehr weiter, dabei is die lösung wahrscheinlich sehr einfach aber ich komm einfach nich drauf.

    Also ich bin dabei mir ein tool zu schreiben womit ich mir ein bestimmtes item in die SQL Datenbank eintragen kann.

    die festen einträge macht er auch da wo sie hinsollen nur brauch ich zwei werte aus anderen tabellen und daran beiss ich mir gerade die zähne aus.

    hier mal der code wo ich den fehler vermute:
    $result1   =  mssql_query("SELECT id FROM character WHERE name='$charname'")or die(mssql_error());
    $checkchar = @mssql_result($result1);
    $result2   =  mssql_query("SELECT userid FROM users WHERE id='$accname'")or die(mssql_error());
    $checkuser = @mssql_result($result2);
           $update = mssql_query("INSERT INTO char_items (
    						  									owner,
    															itemid,
    															itemnumber,
    															plusvalue,
    															slot,
    															quantity,
    															durability,
    															inavatar,
    															BlueAmount,
    															blue1,
    															blue1amount,
    															blue2,
    															blue2amount,
    															blue3,
    															blue3amount,
    															blue4,
    															blue4amount,
    															blue5,
    															blue5amount,
    															blue6,
    															blue6amount,
    															blue7,
    															blue7amount,
    															blue8,
    															blue8amount,
    															blue9,
    															blue9amount,
    															storagetype,
    															storageacc,
    															modelid	,
    															pet_storage_id,
    															charbound	
    																)
    														VALUES 	(
    															'".$checkchar."',
    															'3851',
    															'item44',
    															'0',
    															'44',
    															'1000',
    															'30',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'0',
    															'".$checkuser."',
    															'0',
    															'0',
    															'1'
    														)");


    betroffene Homepage: raisedfist.pytalhost.de/
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Treicio gelöschter User
    1. Was ist dein Problem?
    2. Wieso überall '0' ? Man kann doch in der Tabelle dort überall Default auf 0 stellen ( was eigentlich standart ist )
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    mein problem ist das er die werte nich aus den anderen tabellen holt also bei checkchar und checkuser bekommen ich in der datenbank immer nur "1" eingetragen was aber nich der richtige wert ist.
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Jan Hall Of Fame
    Registriert seit
    17.01.2007
    Beiträge
    3.646
    Beitragswertungen
    54 Beitragspunkte
    Poste mal bitte die Fehlermeldung.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    ich bekomme leider keine fehlermeldung , aber ich kann gerne mal das komplette skript posten. es sind nur die zwei werte falsch die die er improtieren soll: $checkchar und $checkuser.

    $con =  mssql_connect("XXXXX\SQLEXPRESS","XXXXX","XXXXX") or die ("Unable to connect to mssql server"); 
    mssql_select_db("silk") or die ("Error selecting database"); 
    $username = $_POST['accname'];
    $charname = $_POST['charname'];
    
    if (isset($_POST['submit']))
                                {
                                 If(!$_POST['accname'] || !$_POST['charname'] || !$_POST['pass'])
    							 {
    							die('Es sind nich alle felder ausgef&uuml;llt! <a href=global.php>Go Back</a>');
    							 }
    						     $checkinguser = mssql_query("SELECT * FROM users WHERE id='".$_POST['accname']."'") or die('Query Error contact admin');//checking user
    							 $checkinguser1 = mssql_num_rows($checkinguser);
    							 If ($checkinguser1 == 0)
    							 {
    							 die('<center>Dieser User Existiert nicht. <a href=reg.php link>Click Here to Register</a></center>');
    							 }
                                 while($info = mssql_fetch_array($checkinguser))
    							 {
    							$_POST['pass'] = stripslashes($_POST['pass']);
    							$info['password'] = stripslashes($info['password']);
    							$_POST['pass'] = md5($_POST['pass']);
                                $checkpass = mssql_query ("SELECT * FROM users WHERE password='".$_POST['pass']."'") or die("Incorrect Password");//checking password
                                 $checkpass1 = mssql_num_rows($checkpass);
    							 if ($checkpass1 == 0) 
    							 {
    							 die('<center>Falsches Password, versuchen Sie es nochmal <a href=global.php>Go Back</a></center>');
    							 }
     						     $checkingchar = mssql_query("SELECT * FROM character WHERE name='".$_POST['charname']."'") or die('Query Error contact admin');
    							 $checkingchar1 = mssql_num_rows($checkingchar);
    							 If ($checkingchar1 == 0)
    							 {
    							 die('<center>Dieser Character Existiert nicht. <a href=global.php>Go Back</a></center>'); 
    							 }							 
                                 }
    							 
    		$result1   =  mssql_query("SELECT id FROM character WHERE name='$charname'")or die(mssql_error());
    		$checkchar = @mssql_result($result1);
    		$result2   =  mssql_query("SELECT userid FROM users WHERE id='$accname'")or die(mssql_error());
    		$checkuser = @mssql_result($result2); 
    		$update 			= mssql_query("INSERT INTO char_items (
    						  											owner,
    																	itemid,
    																	itemnumber,
    																	plusvalue,
    																	slot,
    																	quantity,
    																	durability,
    																	inavatar,
    																	BlueAmount,
    																	blue1,
    																	blue1amount,
    																	blue2,
    																	blue2amount,
    																	blue3,
    																	blue3amount,
    																	blue4,
    																	blue4amount,
    																	blue5,
    																	blue5amount,
    																	blue6,
    																	blue6amount,
    																	blue7,
    																	blue7amount,
    																	blue8,
    																	blue8amount,
    																	blue9,
    																	blue9amount,
    																	storagetype,
    																	storageacc,
    																	modelid	,
    																	pet_storage_id,
    																	charbound
    																	
    																)
    														VALUES 	(
    																	'$checkchar',
    																	'3851',
    																	'item44',
    																	'0',
    																	'44',
    																	'1000',
    																	'30',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'0',
    																	'$checkuser',
    																	'0',
    																	'0',
    																	'1'
    																)",$con);
    																
    						echo "<center><a href='http://raisedfist.pytalhost.de' target='_parent'>
    							<input name='submit' type='submit' value='Globals wurden erfolgreich geladen!' /></a></center>"; //Web Page url here
    							}
                                
    
    
    ?>



    Zuletzt modifiziert von SWaTcHOnER am 01.05.2011 - 00:06:55
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Jan Hall Of Fame
    Registriert seit
    17.01.2007
    Beiträge
    3.646
    Beitragswertungen
    54 Beitragspunkte
    Du könntest WHERE name='$charname'" mal ersetzen durch WHERE name = '".$charname."' und WHERE id='$accname' durch WHERE id = '".$accname."' .
    Vielleicht hilft das schon. lächeln

    Möglicherweise enthalten die Variablen $charname und $accname ungültige Werte und daher können die mysql-Abfragen nichts finden.

    Entferne mal die @-Zeichen vor mssql_result, dann sollten auch Fehler ausgegeben werden.

    Liebe Grüße
    Jan
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    SWaTcHOnER Mitglied
    Registriert seit
    04.01.2007
    Beiträge
    86
    Beitragswertungen
    0 Beitragspunkte
    ok Jan ich hab es so ersetzt und die @ zeichen entfernt nun bekomm ich die meldung:

    Warning: Wrong parameter count for mssql_result() in C:\AppServ\www\global.php on line 38


    Warning: Wrong parameter count for mssql_result() in C:\AppServ\www\global.php on line 40
    ,___,
    [O.o] Rechtschreibfehler sind Spezialeffekte
    /)__) meiner Tastatur!
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Treicio gelöschter User
    Versuchs mal mit dem hier als Tipp:

    ZitatZitat
    string mssql_result ( resource $result , int $row , mixed $field )


    So ist das aufgebaut.
    Notfalls macht dir einfach n Array auch wenns nur 1 Element ist. Läuft genauso schnell und geht immer ( solange der query richtig ist )
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    kdl Mitglied
    Registriert seit
    21.08.2010
    Beiträge
    333
    Beitragswertungen
    62 Beitragspunkte
    Die letzten beiden Parameter beim Funktionsaufruf fehlen.
    Also
    mssql_result($result1, 0, 'id');

    bzw.
    mssql_result($result2, 0, 'userid');
    .
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten