Fehler in Skript [PHP]
Plaxi 29.06.2003 -
12:00 930
13
Plaxi
Bloody Newbie
|
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 <?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
in fairy dust... I trust!
|
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
rape diem
|
und verwende statt $HTTP_POST_VARS['x'] $_POST['x']
|
funka
Legend ex-prophet(down below)
|
testweise echo mysql_error() unter der zeile 12 dazu hauen hilft dir da nichts?
|
Plaxi
Bloody Newbie
|
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
in fairy dust... I trust!
|
gib einmal $your_id aus, ob da auch wirklich was drinsteht.
|
Plaxi
Bloody Newbie
|
hm ne da wird nix ausgegeben
|
HowlingWolf
...
|
is scho klar aber du solltest mal zum debuggen den querry ausgeben damit du siehst ob die variablen richtig gesetzt werden.
|
Plaxi
Bloody Newbie
|
sorry wie was meinst du
|
Smoldi
rape diem
|
$sql_query="SELECT id,F_mainText,F_us1Text FROM T_Seiten WHERE id='".$your_id."'";
so sollte der query stimmen
|
Plaxi
Bloody Newbie
|
da kommt nur der eine fehler und unterhalb eben die 2 Felder (textareas).....
|
atrox
in fairy dust... I trust!
|
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
hmm
|
ausserdem solltest du statt $sql_raw_data=mysql_query($sql_query,$sql);
besser so was schreiben $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
in fairy dust... I trust!
|
@Plaxi: status update? wenn es funktioniert, oder du eine andere lösung gefunden hast, laß es uns wissen.
|