der Test mit der PHP Version 8 und mit 2 Datenbanken (eine MySQL 5.7 und eine MySQL 8.0) verliefen nach Streichung der magic quotes im php-Script erfolgreich.
Ein Problem bleibt noch. Die Schaltfläche "Insert 1" kann nur einmal benutzt werden, da beim zweiten Benutzen versucht wird die id nochmals mit 1 zu beschreiben, was bei autoincrement ja nicht funktioniert - es erscheint error 500. Soweit so klar.
Aber der Befehl
INSERT INTO employer (name, address, phone, lat, lng) VALUES ('case1', 'inside', '1234', -37.773250, 175.230230)
sollte meiner Meinung nach funktionieren (ohne id), bringt aber ebenfalls den error 500.
Was mache ich da falsch? Oder können beliebige SQL Befehle nicht mittels php Script gesendet werden?
Anfrage beim Provider ist raus. Mal schauen wie schnell ich eine Antwort bekomme.
Nur zu meinem Verständnis:
Das Benutzen der Schaltfläche "Insert 1" kann nur einmal fehlerfrei verwendet werden´, richtig?
Beim 2. Betätigen würde ja versucht werden die id auf nochmals 1 zu setzen, was bei autoincrement ja nicht geht, also Fehler der Datenbank.
Kannst du das Scipt so ändern, dass man den befehl INSERT INTO ohne den Wert id sendet, der ja automatisch vergeben wird (autoincrement)
Nachtrag Fehlermeldung:
[Wed Apr 24 16:36:18.186875 2024] [proxy_fcgi:error] [pid 4098362:tid 140013912057600] [client 94.zzz.bbb.yyy:15636] AH01071:
Got error 'PHP message: Array\n(\n [key] => secret\n [query] =>
INSERT+INTO+employer+VALUES+%285%2C+%27case1%27%2C+%27inside%27%2C+%274321%27%2C+-37.7234360%2C+175.215846%29\n)\n
PHP message: PHP Fatal error: Uncaught mysqli_sql_exception: Duplicate entry '5' for key 'employer.PRIMARY'
in /var/www/vhosts/zzzz.web144.alfahosting-server.de/yyyy.de/mysql-php/mysql.php:61\nStack
trace:\n#0 /var/www/vhosts/zzzz.web144.alfahosting-server.de/yyyy.de/mysql-php/mysql.php(61):
mysqli->query('INSERT INTO emp...')\n#1 {main}\n thrown in /var/www/vhosts/zzzz.web144.alfahosting-server.de/yyyy.de/mysql-php/mysql.php on line 61'
Bei mir habe ich die Spalte id mit autoincrement erstellt.
Ich habe es mit folgenden Befehlen probiert, ohne Erfolg:
INSERT INTO employer (name, address, phone, lat, lng) VALUES ('case5', 'inside', '4321', -37.7234360, 175.215846)
INSERT INTO employer VALUES ('', 'case5', 'inside', '4321', -37.7234360, 175.215846)
INSERT INTO employer VALUES (NULL, 'case5', 'inside', '4321', -37.7234360, 175.215846)
Wie muss der SQL-Befehl lauten, damit das PHP-Script ohne die Angabe der id funktioniert?