php 2 sql befehle ausführen?

3 Antworten

du musst sie auch ausführen, nicht nur die variable überschreiben. $sql= "..." setzt ja nur den wert - aber hat noch nix mit der DB zu tun an dieser stelle.

und nur am rande - screenshot kennst oder? bildschirm abfotografieren ist so.. 90er...

Infensis 
Fragesteller
 03.03.2022, 14:29

Hab auf der Maschine kein Internet, weil ich sonst nicht per Putty verbinden kann

0
Von Experte Traveller5712 bestätigt

Den SQL-Befehl 2x zuzuweisen macht halt keinen Sinn, das überschreibt ja nur den String. Du musst das schon auch 2x ausführen mit $conn->query:

$sql = "...";
if ($conn->query($sql)) { ....};

$sql = "...";
if ($conn->query($sql)) { .... }; 
Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin
Infensis 
Fragesteller
 03.03.2022, 14:29

Aber wieso funktioniert der 2. Befehl dann ohne das…?

0
iQa1x  03.03.2022, 14:31
@Infensis

Weil du ja so, wie du es oben hast, einfach den ersten Befehlstext in $sql mit dem 2. Befehlstext überschreibst. Dann steht halt der 2. Befehl in $sql, und der wird dann beim $conn->query ausgeführt.

0
Traveller5712  03.03.2022, 17:55
@Infensis

Schau mal ... Du weisst $sql erst den "call ..." Befehl zu - und führst ihn danach nicht aus.

Dann weisst Du $sql den Befehl "insert into ..." Befehl zu - und führst diesen dann aus.

Die zweite Zuweisung überschreibt die erste. Somit KANN nur der zweite Befehl überahupt ausgeführt werden.

Entweder Du weisst die Befehle unterschiedlichen Variablen zu, Du führst die beiden Befehle separat aus, oder Du verknüpft das ganze miteinander, so dass die Befehle miteinander verkettet werden.

0
Infensis 
Fragesteller
 03.03.2022, 14:31

Ich hätte jetzt ehrlich gesagt kein Plan was ich in die Punkte schreiben muss

0
iQa1x  03.03.2022, 14:34
@Infensis

Das, was bei dir da schon steht. Beim 1. SQL den ersten Befehl, beim 2. SQL den 2. Befehl. Das if ($conn->query)) ... ist einfach der Block, den du schon einmal bei dir stehen hast, bis zur passenden schilie0enden Klammer, den kopierst du dann einfach nochmal. Ich hatte keine Lust, den ganzen Kram aus dem Bild abzutippen...

1
Infensis 
Fragesteller
 03.03.2022, 15:15
@iQa1x

ja, hab es jetztbverstanden, dankeschön

0

Indem du sie auch ausführst. Den Befehl in ein String namens $sql schreiben macht noch nix. Erst die Ausführung mittels query tut etwas und die hast du nur einmal. Ergo führst du nur das letzte definierte $sql aus.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012