php 2 sql befehle ausführen?
Ich suche nach einer Lösung, wie man bei einem php script zwei sql befehle ausführen kann. Bei mir führt er immer nur einen aus. Wenn ich beide Befehle drin stehen hab, führt er nur den 2. aus, aber ich hab probiert, wenn ich diesen auskommentiere, dann funktioniert der erste. Der erste funktioniert nur nicht, wenn der 2. nicht auskommentiert ist. Ich habe gegoogelt und gelesen, dass man nicht 2 sql Befehle ausführen kann, aber keine Lösung gefunden. Kann mir einer helfen?
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...
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)) { .... };
Ich hätte jetzt ehrlich gesagt kein Plan was ich in die Punkte schreiben muss
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...
Aber wieso funktioniert der 2. Befehl dann ohne das…?
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.
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.
Hab auf der Maschine kein Internet, weil ich sonst nicht per Putty verbinden kann