Veröffentlicht 4. Mai 200421 j 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 ?
4. Mai 200421 j Versuch es mal ohne die ; Habe ich versucht und ohne ";" bekomme ich diesbezüglich ein syntaxfehler .
4. Mai 200421 j 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 (); } ?>
7. Mai 200421 j 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:
7. Mai 200421 j 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.
8. Mai 200421 j 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.
8. Mai 200421 j Bisher wurden nur Fehler im Quellcode gesucht/ vermutet. Aber welche Fehlermeldung gibt es denn eigentlich? Frank
21. Mai 200421 j 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.
21. Mai 200421 j 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
21. Mai 200421 j 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.
22. Mai 200421 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.