MySql UPDATE - Was ist falsch??

Kategorien: PHP & MySQL
9 Antworten
TFrog
TFrog am Mittwoch, 16. März 2005 um 21:43
hallo, ich habe ein problem, wen ich eine tabelle updaten will, hier der code: $sql = "UPDATE guestbook Set autor = '$autor', email = '$email', $homepage = '$homepage', inhalt = '$inhalt' WHERE id = '$id' "; $query= mysql_query($sql) or die ("Fehler bei der Verbindung"); was mache ich da falsch?? es kommt immer : Fehler bei der Verbindung

Kommentare

azz
azz am Mittwoch, 16. März 2005 um 21:47

ich bin mir nicht 100% sichaer aber da ich keinen fehler in dem code sehe vermute ich das der fehler wo anders liegt

mfg, azz

TFrog
TFrog am Mittwoch, 16. März 2005 um 21:50

hier der ganze code:

<?php
if($action == "edit"){
$id = $HTTP_GET_VARS["edit_id"];
$autor = $HTTP_POST_VARS["autor"];
$email = $HTTP_POST_VARS["email"];
$homepage = $HTTP_POST_VARS["homepage"];
$eintrag = $HTTP_POST_VARS["eintrag"];
$sql = "UPDATE guestbook Set autor = &#039;$autor&#039;, email = &#039;$email&#039;, $homepage = &#039;$homepage&#039;, inhalt = &#039;$inhalt&#039; WHERE id = &#039;$id&#039; ";
$query= mysql_query($sql) or die ("Fehler bei der Verbindung");
print "&nbsp; Gästebucheintrag erfolgreich geändert.";
}
?>

die varieblen werden übergeben und kommen auchna, ich habe sie testweise mal augeben lassen, baer dan geht es nicht mehr weiter.

azz
azz am Mittwoch, 16. März 2005 um 22:02

und was gibt er aus ? gibt er "Fehler bei der Verbindung" aus ?
ansonsten einmal mal paar mysql_error(); rein hauen evtl kommste dann drauf

und $action ist auch wirklich edit? schau ma in der url.

ansonsten kannste unten auch noch

if ($query = mysql_query($sql) {
echo "done";
}

kA, sry

TFrog
TFrog am Mittwoch, 16. März 2005 um 22:09

ich habe alles nochmal überprüft. action ist "edit" und er gibt mir auch den geänderten text aus, aber er will es nicht abspeichern. hier mus der fehler liegen, da er mir Fehler bei der Verbindung ausgibt!


$sql = "UPDATE guestbook Set autor = &#039;$autor&#039;, email = &#039;$email&#039;, $homepage = &#039;$homepage&#039;, inhalt = &#039;$inhalt&#039; WHERE id = &#039;$id&#039; ";
$query= mysql_query($sql) or die ("Fehler bei der Verbindung");

azz
azz am Mittwoch, 16. März 2005 um 23:04

sry seh grad keinen fehler

evo
evo am Mittwoch, 16. März 2005 um 23:28

Hallo,

probier doch mal bitte folgendes:

$sql = "UPDATE guestbook SET var=&#039;".$value."&#039;,var2=&#039;".$value2."&#039; WHERE id=&#039;".$id."&#039;";
$query = mysql_query($sql) or die (&#039;Error&#039;);


Ein kleiner Hinweis: Es kommt auf die PHP-Version die auf dem Server läuft auch an. Sollte das auch nicht klappen, dann probier mal die Variablen als $_POST['var'] bzw. $_GET['var'] zu definieren ($_REQUEST['var']). Am besten ist du machst das "or die" mal weg und du postest mal die Fehlermeldung.

TFrog
TFrog am Donnerstag, 17. März 2005 um 15:35

das ist ja das komische, das keine fehlermeldung kommr. es läuft alles wie es soll, nur das die änderungen nicht gespeichert werden.

TFrog
TFrog am Donnerstag, 17. März 2005 um 16:19

problem hat sich erledigt. eine der variablen war falsch benannt

malo
malo am Donnerstag, 17. März 2005 um 16:26

Ja musst dir merken, immer zuerst das nachgucken dann nachschauen ob die MYSQL Werte z.b wie "alter" nicht für MYSQL schon vergeben ist. Ich hatte diesen Fehler mal, da hab ich dann 2h rumgesesen bin ich dann gecheckt habt, das "alter" von Mysql benutzt wird. Was auch zum Fehler führen kann sind z.b Falsche Datenbankspalten. Also z.b. das es den Garnich gibt, oder wie bei dir ein SChreibfehler ist. Das ganze kann man wie oben gesagt testen, ob er überhaupt auf mysql connectet und dann immer einzelnt weiter Testen, falls man garnicht draufkommt :)

Achja immer schön diese error dinger benutzen das bin ich in jedes Script ein... ist recht sinnvoll, aber nur begerenzt natürlich ;)

Stoke

PS: hoffe Der Beitrag ist nicht alzu Sinnlos