Fehler in Skript [PHP]

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/fehler_in_skript_php_84061/page_1 - zur Vollversion wechseln!


Plaxi schrieb am 29.06.2003 um 12:00

Hi @ll
Bekomme folgenden Fehler (beim Aufrufen später folgenden Skriptes):
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .../edit.php on line 12

Das Skript soll die Texte meiner HP bearbeiten, die ich in der MySQL DB mit folgendem Aufbau speichere:
Datenbankname: homepage
Tabellenname: T_Seiten
Feldernamen: F_mainText
F_us1Text

Code:
<?php   
  
$sql=mysql_connect("Dein_Datenbankserver","Dein_Username","Dein_Passwort");   
  
mysql_select_db("Deine_Datenbank",$sql);   
  
$sql_query="SELECT id,F_mainText,F_us1Text FROM T_Seiten WHERE id='$your_id'";   
  
$sql_raw_data=mysql_query($sql_query,$sql);   
  
  
$sql_data=mysql_fetch_array($sql_raw_data);   
  
  
if ($save)  {   
  
    $id=$HTTP_POST_VARS['id'];   
    $F_mainText=$HTTP_POST_VARS['F_mainText'];   
    $F_us1Text=$HTTP_POST_VARS['F_us1Text'];   
  
  
  
    $sql_query="UPDATE T_Seiten SET F_mainText='$F_mainText',F_us1Text='$F_us1Text' WHERE id='$id'";   
  
    $sql_update_status=mysql_query($sql_query,$sql);   
}   
mysql_close($sql);   
?>   
<body>   
  
<form name="form1" method="post" action="<?=$PHP_SELF?>">   
  
<input type="hidden" name="id" value="<?=$sql_data['id']?>">   
  <p> F_mainText:<<br>   
    <textarea name="F_mainText" id="F_mainText"><?=$sql_data['F_mainText']?></textarea>   
  </p>   
  <p>F_us1Text:<<br>   
    <textarea name="F_us1Text" id="F_us1Text"><?=$sql_data['F_us1Text']?></textarea>   
  </p>   
  <p>   
    <input name="save" type="submit" id="save" value="Speichern">   
  </p>   
</form>   
<?php   
  
if ($save) {   
    if ($sql_update_status) {   
        echo "Daten wurden erfolgreich updatet";   
    } else {   
        echo "Beim updaten der Daten ist ein Fehler aufgetreten";   
    }   
}   
?>


atrox schrieb am 29.06.2003 um 12:15

wenn das query fehlerhaft ist, liefert mysql_query auch keinen brauchbaren returnwert. überprüfe dieses vielleicht separat auf der kommandozeile. (ich schätze, den rest wirst ja schon überprüft haben: ist $your_id gesetzt, stimmen die datenbank anmeldedaten, etc...)


Smoldi schrieb am 29.06.2003 um 12:38

und verwende statt $HTTP_POST_VARS['x'] $_POST['x']


funka schrieb am 29.06.2003 um 12:39

testweise echo mysql_error() unter der zeile 12 dazu hauen hilft dir da nichts?


Plaxi schrieb am 29.06.2003 um 12:43

da wird mir auch das angezeigt:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .../edit.php on line 12


atrox schrieb am 29.06.2003 um 12:48

gib einmal $your_id aus, ob da auch wirklich was drinsteht.


Plaxi schrieb am 29.06.2003 um 13:11

hm ne da wird nix ausgegeben


HowlingWolf schrieb am 29.06.2003 um 13:15

is scho klar aber du solltest mal zum debuggen den querry ausgeben
damit du siehst ob die variablen richtig gesetzt werden.


Plaxi schrieb am 29.06.2003 um 13:20

sorry wie was meinst du


Smoldi schrieb am 29.06.2003 um 13:24

$sql_query="SELECT id,F_mainText,F_us1Text FROM T_Seiten WHERE id='".$your_id."'";

so sollte der query stimmen


Plaxi schrieb am 29.06.2003 um 13:30

da kommt nur der eine fehler und unterhalb eben die 2 Felder (textareas).....


atrox schrieb am 29.06.2003 um 15:07

mach ein ´echo $sql_query´ und prüfe die ausgabe auf syntaktische und symantische korrektheit - zb in dem du das statement direkt in die mysql-shell kopierst. (was ich oben schon geschrieben habe)


alexsb schrieb am 29.06.2003 um 16:36

ausserdem solltest du statt

Code: PHP
$sql_raw_data=mysql_query($sql_query,$sql); 
besser so was schreiben

Code: PHP
$sql_raw_data=mysql_query($sql_query,$sql)
  or die("Query Error"); 

das bricht dir dann das Skript ab wenn mysq_query Fehlerhaft war.
Zum Debuggen geb ich immer im "or die" gleich noch das SQL Statement mit aus.


atrox schrieb am 01.07.2003 um 17:44

@Plaxi:
status update? wenn es funktioniert, oder du eine andere lösung gefunden hast, laß es uns wissen.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025