Hi,
hatte vor kurzem mal ein Problem, das besteht leider immer noch, und es wird immer kurioser
also
ich habe $query = "UPDATE table SET var = '$var'";
und dann mysql_query($query, $db_handle);
echo $query liefert den korrekten string, der auch im PMA funktioniert.
mysql_query liefert true, mysql_affected_rows($db_handle) aber 0
Rufe ich das selbe Skript nochmal auf, funktioniert der query (ist ein skript zum bearbeiten des profils
Dabei gibs aber ein paar Probleme :
1. Obwohl der Query stimmt ($var gefüllt) sind die geupdateten spalten leer
2. mache ich $query = "UPDATE table SET var = 'fest$var'"; hat die spalte den Wert fest obwohl in der echo ausgabe fest und der inhalt der $var auftauchen
3. jetzt habe ich folgendes gemacht :
telefon=if('$telefon' != '', '$telefon', 'k.A.')
Ergebnis: jetzt kommt immerhin manchaml beim ersten mal der wert von $telefon und manchmal halt k.A.
Obowhl die variable gefüllt ist, und ich damit testoperationen und testausgaben mache und der query damit gefüllt ist, wird die spalte damit nicht gefüllt.
ich mache z.B. query = "UPDATE tabelle $telefon SET var = '$telefon' ..." so kommt syntax error, weil ja $telefon völlig deplaziert ist, mache ich es weg, wird die Spalte mit '' geupdated.
Ich bin echt am verzweifeln...
Der relevante Codeschnipsel (wurde so auch alleine getestet, halt mit db verbindung auf und abbauen):
danke und cya max
hatte vor kurzem mal ein Problem, das besteht leider immer noch, und es wird immer kurioser
also
ich habe $query = "UPDATE table SET var = '$var'";
und dann mysql_query($query, $db_handle);
echo $query liefert den korrekten string, der auch im PMA funktioniert.
mysql_query liefert true, mysql_affected_rows($db_handle) aber 0
Rufe ich das selbe Skript nochmal auf, funktioniert der query (ist ein skript zum bearbeiten des profils
Dabei gibs aber ein paar Probleme :
1. Obwohl der Query stimmt ($var gefüllt) sind die geupdateten spalten leer
2. mache ich $query = "UPDATE table SET var = 'fest$var'"; hat die spalte den Wert fest obwohl in der echo ausgabe fest und der inhalt der $var auftauchen
3. jetzt habe ich folgendes gemacht :
telefon=if('$telefon' != '', '$telefon', 'k.A.')
Ergebnis: jetzt kommt immerhin manchaml beim ersten mal der wert von $telefon und manchmal halt k.A.
Obowhl die variable gefüllt ist, und ich damit testoperationen und testausgaben mache und der query damit gefüllt ist, wird die spalte damit nicht gefüllt.
ich mache z.B. query = "UPDATE tabelle $telefon SET var = '$telefon' ..." so kommt syntax error, weil ja $telefon völlig deplaziert ist, mache ich es weg, wird die Spalte mit '' geupdated.
Ich bin echt am verzweifeln...
Der relevante Codeschnipsel (wurde so auch alleine getestet, halt mit db verbindung auf und abbauen):
PHP-Code:
$telefon = mysql_real_escape_string($_POST['telefon'], $db_handle);
$mobiltelefon = mysql_real_escape_string($_POST['mobiltelefon'], $db_handle);
$fax = mysql_real_escape_string($_POST['fax'], $db_handle);
$query = "UPDATE userdaten
SET telefon=if('$telefon' != '', '$telefon', 'k.A.'),
mobiltelefon=if('$mobiltelefon' != '', '$mobiltelefon', 'k.A.'),
fax=if('$fax' != '', '$fax', 'k.A.')
WHERE id='$benutzerid'";
echo("<p>$query</p>");
$ergebnis = mysql_query($query, $db_handle) or die(mysql_error());
//echo("<p>$ergebnis, $db_handle<br>Eventueller Fehler: ".mysql_error());
if($ergebnis && mysql_affected_rows($db_handle) == 1) {
danke und cya max
Kommentar