tahir Geschrieben 4. Mai 2004 Geschrieben 4. Mai 2004 Hallo, ich habe momentan MySQL Connect problem . Ich möchte über PHP in der DB ein Update bewirken leider wird die Verbindung zu DB ständig abgebrochen und die gewünchten UPDATEs nicht erfolgt. <?php if(isset($_POST['id'])) { mysql_connect ("SERVER","USER","PW"); mysql_select_db("DB"); // die Updates der DB werden durchgeführt mysql_query("UPDATE customers SET fname='".$_POST["fname"]."' WHERE ID=".$_POST["id]."';"); mysql_query("UPDATE customers SET lname='".$_POST["lname"]."' WHERE ID=".$_POST["id]."';"); mysql_query("UPDATE customers SET number='".$_POST["number"]."' WHERE ID=".$_POST["id]."';"); mysql_query("UPDATE customers SET email='".$_POST["email"]."' WHERE ID=".$_POST["id]."';"); mysql_query("UPDATE city,customers SET city.citname='".$_POST["citname"]."' WHERE city.ID=customers.cityID AND customers.ID=".$_POST["id]."';"); mysql_query("UPDATE company,customers SET company.comname='".$_POST["comname"]."' WHERE company.ID=customers.companyID AND customers.ID=".$_POST["id]."';"); mysql_close(); ?> So sieht der code aus, kennt jemand dieses Problem und kann mir behilflich sein ?
tahir Geschrieben 4. Mai 2004 Autor Geschrieben 4. Mai 2004 Versuch es mal ohne die ; Habe ich versucht und ohne ";" bekomme ich diesbezüglich ein syntaxfehler .
dreadlord Geschrieben 4. Mai 2004 Geschrieben 4. Mai 2004 Probier es vielleicht mal so <?php if(isset($_POST['id'])) { $sqlconnect = mysql_connect ("SERVER","USER","PW"), mysql_select_db("DB"); // die Updates der DB werden durchgeführt $sqlupdate1 = "UPDATE customers SET fname=".$_POST['fname']." , lname=".$_POST['lname']." , number=".$_POST['number']." , email=".$_POST['email']." WHERE ID=.$_POST['id].""; $sqlupdate2 = "UPDATE city,customers SET city.citname=".$_POST['citname']." WHERE city.ID=customers.cityID AND customers.ID=.$_POST['id].""; $sqlupdate3 = "UPDATE company,customers SET company.comname=".$_POST['comname']." WHERE company.ID=customers.companyID AND customers.ID=.$_POST['id].""; mysql_query ($sqlupdate1,$sqlupdate2,$sqlupdate3,$sqlconnect); mysql_close (); } ?>
tahir Geschrieben 7. Mai 2004 Autor Geschrieben 7. Mai 2004 Probier es vielleicht mal so Immer noch erfolglos. Gibt es vielleicht bei MySql eine Einstellungen die man verändern oder freischalten muss z.Bsp. enable UPDATE... oder so, damit ein UPDATE gemacht werden kann ? :confused:
dreadlord Geschrieben 7. Mai 2004 Geschrieben 7. Mai 2004 Davon ist mir nichts bekannt. Aber füge mal in dein Script nach den Updates ein mysql_error(); ein, damit kann man den Fehler etwas genauer bestimmen.
kills Geschrieben 8. Mai 2004 Geschrieben 8. Mai 2004 Immer noch erfolglos. Gibt es vielleicht bei MySql eine Einstellungen die man verändern oder freischalten muss z.Bsp. enable UPDATE... oder so, damit ein UPDATE gemacht werden kann ? :confused: man kann in mysql den einzelen benutzern rechte auf UPDATE,SELECT,ALTER,INSERT,..... usw geben. dies kannst du ganz einfach mit dem phpMyAdmin tun.
robotto7831a Geschrieben 8. Mai 2004 Geschrieben 8. Mai 2004 Bisher wurden nur Fehler im Quellcode gesucht/ vermutet. Aber welche Fehlermeldung gibt es denn eigentlich? Frank
Jojojo Geschrieben 21. Mai 2004 Geschrieben 21. Mai 2004 Hmm, ich bin der Meinung deine SQL anmeldung ist nicht korrekt. Versuchs mal so: <?php if(isset($_POST['id'])) { [B]$dbcnx[/B] = mysql_connect ("SERVER","USER","PW"); mysql_select_db("DB", [B]$dbcnx[/B] ); // die Updates der DB werden durchgeführt mysql_query("UPDATE customers SET fname='".$_POST["fname"]."' WHERE ID='".$_POST["id"]."';"); mysql_query("UPDATE customers SET lname='".$_POST["lname"]."' WHERE ID='".$_POST["id"]."';"); mysql_query("UPDATE customers SET number='".$_POST["number"]."' WHERE ID='".$_POST["id"]."';"); mysql_query("UPDATE customers SET email='".$_POST["email"]."' WHERE ID='".$_POST["id"]."';"); mysql_query("UPDATE city,customers SET city.citname='".$_POST["citname"]."' WHERE city.ID=customers.cityID AND customers.ID='".$_POST["id"]."';"); mysql_query("UPDATE company,customers SET company.comname='".$_POST["comname"]."' WHERE company.ID=customers.companyID AND customers.ID='".$_POST["id"]."';"); mysql_close(); ?> Du willst ja mit den selben rechten auf die datenbank zugreifen, mit denen du dich vorher angemeldet hast.
Jaraz Geschrieben 21. Mai 2004 Geschrieben 21. Mai 2004 Du willst ja mit den selben rechten auf die datenbank zugreifen, mit denen du dich vorher angemeldet hast. Den Link Identifier musst du nur übergeben, wenn sich das mysql_select_db nicht auf die letzte geöffnete Verbindung bezieht. Ansonsten nimmt er automatisch die letzte geöffnete Verbindung. Gruß Jaraz
Jojojo Geschrieben 21. Mai 2004 Geschrieben 21. Mai 2004 Hmm. gut zu wissen. Aber soweit ich weiß werden sqlabfragen nur in ser Shell mit semikolon beendet. ich würde sie in den abfragen einfach mal weglassen. Oder versuchs mit VALUES und nicht mit SET.
robotto7831a Geschrieben 22. Mai 2004 Geschrieben 22. Mai 2004 Aber soweit ich weiß werden sqlabfragen nur in ser Shell mit semikolon beendet. ich würde sie in den abfragen einfach mal weglassen. Das hatten wir oben schon mal. Oder versuchs mit VALUES und nicht mit SET. VALUES geht doch nur bei Inserts. Bei Updates muss man doch SET benutzen. Frank
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden