SQL Befehl klappt nicht mit mysql_query()
ralphi
- php
0 Der Martin0 ChrisB
Hi Leute,
mit mysql_query() müssten doch eigentlich alle SQL Befehle ausführbar sein, oder?
$table = "test";
$sql = "
SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
CREATE TABLE IF NOT EXISTS " . $table . " (
id int(11) NOT NULL AUTO_INCREMENT,
zeitstamp bigint(20) NOT NULL,
backup int(11) NOT NULL,
pos int(11) NOT NULL,
name char(255) COLLATE latin1_german1_ci NOT NULL,
opt1 int(11) NOT NULL,
opt2 int(11) NOT NULL,
opt3 int(11) NOT NULL,
opt4 int(11) NOT NULL,
zus1 int(11) NOT NULL,
zus2 int(11) NOT NULL,
zus3 int(11) NOT NULL,
zus4 int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=13 ;
";
echo $sql;
mysql_query( $sql);
Wenn ich den SQL-code vom Browser in zB. phpmyadmin kopiere und ausführe - klappts.
Das obige script nicht.
Die Verbindung zur DB hab ich mit einem SELECT getestet - daran liegts nicht.
Was mach ich falsch?
Viele Grüße aus LA
Hallo,
mit mysql_query() müssten doch eigentlich alle SQL Befehle ausführbar sein, oder?
AFAIK ja, aber immer nur einer pro Aufruf. Dein SQL-Statement enthält aber zwei Anweisungen, von denen die zweite ignoriert wird.
Wenn ich den SQL-code vom Browser in zB. phpmyadmin kopiere und ausführe
Vom Browser?? Im Browser sollte kein PHP- oder SQL-Code ankommen. Wenn doch, dann läuft noch so richtig was schief.
Ciao,
Martin
AFAIK ja, aber immer nur einer pro Aufruf. Dein SQL-Statement enthält aber zwei Anweisungen, von denen die zweite ignoriert wird.
korrekt ;-)
Vom Browser?? Im Browser sollte kein PHP- oder SQL-Code ankommen. Wenn doch, dann läuft noch so richtig was schief.
hab ich: echo $sql;
gmacht.
Viele Grüße aus LA
Hallo,
Im Browser sollte kein PHP- oder SQL-Code ankommen. Wenn doch, dann läuft noch so richtig was schief.
hab ich:echo $sql;
gmacht.
hey, Schummeln gilt nicht! ;-)
Ciao,
Martin
Hi,
Was mach ich falsch?
Du liest nicht (aufmerksam genug) im Handbuch nach.
http://php.net/manual/en/function.mysql-query.php: “mysql_query() sends a unique query (multiple queries are not supported) […]”
Btw., den Hinweis, der ganz oben auf der Seite steht, solltest du auch berücksichtigen.
MfG ChrisB
Hi,
Du liest nicht (aufmerksam genug) im Handbuch nach.
hab ich überhaupt nicht nachgeschlagen :-(
Der Spruch:
"mit mysql_query() müssten doch eigentlich alle SQL Befehle ausführbar sein, oder?"
war eigentlich retorisch gemeint.
ich setze mysql_query() seit Jahren ein. Hab ich als Fehler gänzlich ausgeschlossen. Dachte eher an eine mySQL-server Geschichte.
Aber in der Tat, in den ganzen Jahren ergab sich nie, mehrere SQLs hintereinander zu packen (Wahrscheinlich wegen der Übersichtlichkeit).
Viele Grüße aus LA
Hallo ralphi,
ich setze mysql_query() seit Jahren ein.
Das solltest du dir abgewöhnen, die Funktion (bzw. die ganze Erweiterung) steht auf der Abschussliste :-)
Gruß,
Tobias
Mahlzeit,
Das solltest du dir abgewöhnen, die Funktion (bzw. die ganze Erweiterung) steht auf der Abschussliste :-)
Dieses Problem hätte er mit mysqli_query oder mysqli->query() genauso gehabt.
Tach!
Das solltest du dir abgewöhnen, die Funktion (bzw. die ganze Erweiterung) steht auf der Abschussliste :-)
Dieses Problem hätte er mit mysqli_query oder mysqli->query() genauso gehabt.
Das schon, aber die mysqli-Extension kennt mysqli_multi_query().
dedlfix.