mehrere UPDATEs in einer Abfrage
Ingo
- php
0 wahsaga0 Rouven-1 Bodo Thiesen0 wahsaga0 dedlfix
0 Bodo Thiesen
0 dedlfix
Hallo, ich habe folgenden Query-String:
UPDATE tipps SET ToreM1=1, ToreM2=2, sieger=2 WHERE id=14;UPDATE tipps SET ToreM1=1, ToreM2=1, sieger=0 WHERE id=15;UPDATE tipps SET ToreM1=2, ToreM2=1, sieger=1 WHERE id=13;
wenn ich mysql_query() damit füttere apuckt er mit nen error(1064)aus.
Es soll also etwas mit der Syntax nicht stimmen.
Füge ich den Query aber in PHPMyAdmin ins SQL-feld ein und schicke ihn ab, klappt alles wunderbar.
Was mache ich falsch?
Vielen Dank schonmal!
Ingo
hi,
Was mache ich falsch?
Du kannst mit mysql-Query nur jeweils eine Query an die DB absetzen.
gruß,
wahsaga
Du kannst mit mysql-Query nur jeweils eine Query an die DB absetzen.
...und PHPMyAdmin ist so frei ohne es dir mitzuteilen deine Statements automatisch am ";" aufzutrennen und nacheinander abzusetzen.
MfG
Rouven
Was mache ich falsch?
Du kannst mit mysql-Query nur jeweils eine Query an die DB absetzen.
Das ist so nicht richtig:
http://dev.mysql.com/doc/refman/5.1/de/mysql-options.html
MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP und multi-statements
Allerdings erst ab 5.0 (oder gar erst ab 5.1?).
Gruß, Bodo
hi,
Das ist so nicht richtig:
http://dev.mysql.com/doc/refman/5.1/de/mysql-options.html
MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP und multi-statements
Allerdings erst ab 5.0 (oder gar erst ab 5.1?).
Wer vergibt denn dafür ein Minus?
Die Info ist zumindest mal interessant - auch wenn ich nicht sehe, wie man sie im vorliegenden Fall nutzen könnte, denn die API-Funktion mysql_options wird AFAIK von der mysql-Erweiterung von PHP nicht unterstützt.
Da könnte man dann evtl. zu mysqli greifen ...
gruß,
wahsaga
echo $begrüßung;
Wer vergibt denn dafür ein Minus?
Ich war es nicht, aber
Die Info ist zumindest mal interessant
die Antwort zielte nur grob in Richtung Ziel ... und verfehlte es.
Da könnte man dann evtl. zu mysqli greifen ...
Man muss sogar. Es gibt, soweit ich weiß, in dem Fall keine Alternative dazu.
echo "$verabschiedung $name";
Das ist so nicht richtig:
Wer vergibt denn dafür ein Minus?
Jemand, der (korrekterweise) festgestellt hat, daß meine Antwort dem Fragesteller nicht weiterhilft.
Gruß, Bodo
echo $begrüßung;
Du kannst mit mysql-Query nur jeweils eine Query an die DB absetzen.
Das ist so nicht richtig:
Es bleibt dabei, dass mit mysql_query() nur ein Statement abgesendet werden kann. Um mehrere Statements absenden zu können, muss man unter PHP mysqli_multi_query() verwenden. Dazu bedarf es aber der mysqli-Extension von PHP, die es ab PHP-Version 5.0 gibt.
http://dev.mysql.com/doc/refman/5.1/de/mysql-options.html
MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP und multi-statements
Die ersten beiden Parameter haben mit Multi-Queries nichts zu tun und multi-statements ist eine Option, die in der MySQL-Server-Konfigurationsdatei (my.cnf) gesetzt werden kann. Multi-Statements werden ur dann ausgeführt, wenn man es beim Connect über die MySQL-API-Funktion mysql_real_connect() mit dem Parameter CLIENT_MULTI_STATEMENTS erlaubt.
Diesen Parameter klammert aber das PHP-mysqli-Pendant mysqli_real_connect() explizit aus und bietet dafür mysqli_multi_query() an (wofür es in der MySQL-API keine Entsprechung gibt).
Allerdings erst ab 5.0 (oder gar erst ab 5.1?).
Gültig ab MySQL Version 4.1 bzw. dessen API.
echo "$verabschiedung $name";