was geht fuer mehrfach-sql-string?
was geht fuer mehrfach-sql-string?
am 26.01.2006 13:30:26 von Andreas Horn
Hallo allerseits,Hallo allerseits,
mysql_query() und mysql_real_query() vertragen kein Semikolon bzw. SQL-
Anweisungsketten in einem String - zumindest bis MySQL4.0 nicht. Geht
das vielleicht mit einer anderen Funktion, so dass ich mehrere SQL-
Anweisungen in einen String packen kann? Oder geht das in einer anderen
MySQL-Version?
Danke schon mal
Andreas
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 13:35:51 von Guy Walter
Andreas Horn wrote:
> Hallo allerseits,Hallo allerseits,
>
> mysql_query() und mysql_real_query() vertragen kein Semikolon bzw. SQL-
> Anweisungsketten in einem String - zumindest bis MySQL4.0 nicht. Geht
> das vielleicht mit einer anderen Funktion, so dass ich mehrere SQL-
> Anweisungen in einen String packen kann? Oder geht das in einer anderen
> MySQL-Version?
>
> Danke schon mal
> Andreas
Laut Dokumentation kann man nur eine Anfrage senden.
http://de3.php.net/manual/en/function.mysql-query.php
Das liegt nicht an MySQL4.x oder sonstigen Version!!!
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 14:24:39 von Andreas Horn
Guy Walter schrieb:
> Andreas Horn wrote:
>> Hallo allerseits,Hallo allerseits,
>>
>> mysql_query() und mysql_real_query() vertragen kein Semikolon bzw. SQL-
>> Anweisungsketten in einem String - zumindest bis MySQL4.0 nicht. Geht
> Laut Dokumentation kann man nur eine Anfrage senden.
> Das liegt nicht an MySQL4.x oder sonstigen Version!!!
Hi Guy,
wie macht das aber phpMyAdmin, da kann man ja solche zusammengesetzten
Abfragen absetzen?
Besten Dank schon mal für Deine Antwort
Andreas
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 14:40:22 von Dominik Echterbruch
Andreas Horn wrote:
> Guy Walter schrieb:
>
>> Andreas Horn wrote:
>>
>>> Hallo allerseits,Hallo allerseits,
>>>
>>> mysql_query() und mysql_real_query() vertragen kein Semikolon bzw. SQL-
>>> Anweisungsketten in einem String - zumindest bis MySQL4.0 nicht. Geht
>>
>> Laut Dokumentation kann man nur eine Anfrage senden.
>> Das liegt nicht an MySQL4.x oder sonstigen Version!!!
>
> wie macht das aber phpMyAdmin, da kann man ja solche zusammengesetzten
> Abfragen absetzen?
Ich schließe mich einfach mal an:
Vergiß phpMyAdmin
Zum einen bist du hier vollkommen Off-Topic (deine Fragen haben nichts
mit MySQL zu tun, sondern ausschließlich mit PHP) und außerdem:
explode() existiert...
Grüße,
Dominik
--
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=vid&vid=3018786
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 14:40:25 von Guy Walter
Andreas Horn wrote:
> Hi Guy,
> wie macht das aber phpMyAdmin, da kann man ja solche zusammengesetzten
> Abfragen absetzen?
>
> Besten Dank schon mal für Deine Antwort
>
> Andreas
Der wird die Anfragen aus dem Eingabefeld vorher zerlegen und mehre
mysql_query draus machen.
zb:
Einagbefeld:
BEGIN;
SELECT * FROM test;
SELECT * FROM test2;
COMMIT;
Query an DB:
mysql_query( "BEGIN" );
mysql_query( "SELECT * FROM test" );
mysql_query( "SELECT * FROM test2" );
mysql_query( "COMMIT" );
Guy
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 15:18:43 von Andreas Horn
Dominik Echterbruch schrieb:
> Andreas Horn wrote:
>> Guy Walter schrieb:
>>
>>> Andreas Horn wrote:
>>>
>>>> Hallo allerseits,Hallo allerseits,
>>>>
>>>> mysql_query() und mysql_real_query() vertragen kein Semikolon bzw. SQL-
>>>> Anweisungsketten in einem String - zumindest bis MySQL4.0 nicht. Geht
>>>
>>> Laut Dokumentation kann man nur eine Anfrage senden.
>>> Das liegt nicht an MySQL4.x oder sonstigen Version!!!
>>
>> wie macht das aber phpMyAdmin, da kann man ja solche zusammengesetzten
>> Abfragen absetzen?
>
> Ich schließe mich einfach mal an:
> Vergiß phpMyAdmin
>
> Zum einen bist du hier vollkommen Off-Topic (deine Fragen haben nichts
> mit MySQL zu tun, sondern ausschließlich mit PHP) und außerdem:
> explode() existiert...
>
>
> Grüße,
> Dominik
Hallo Dominik,
bitte nicht böse sein, aber mysql_query() gibt's auch in der C-API und
phpMyAdmin sollte nur als Beispiel dienen. Aber ansonsten hast Du schon
recht, es klingt es wegen d.c.l.p.d schon nach ot, war aber nicht als
solcher gemeint.
mfg
Andreas
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 15:19:21 von Andreas Horn
Guy Walter schrieb:
> Andreas Horn wrote:
>> Hi Guy,
>> wie macht das aber phpMyAdmin, da kann man ja solche zusammengesetzten
>> Abfragen absetzen?
>>
>> Besten Dank schon mal für Deine Antwort
>>
>> Andreas
>
> Der wird die Anfragen aus dem Eingabefeld vorher zerlegen und mehre
> mysql_query draus machen.
>
> zb:
>
> Einagbefeld:
> BEGIN;
> SELECT * FROM test;
> SELECT * FROM test2;
> COMMIT;
>
> Query an DB:
> mysql_query( "BEGIN" );
> mysql_query( "SELECT * FROM test" );
> mysql_query( "SELECT * FROM test2" );
> mysql_query( "COMMIT" );
>
> Guy
danke, das war's
mfg
Andreas
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 16:16:45 von Axel Schwenke
Andreas Horn wrote:
> mysql_query() und mysql_real_query() vertragen kein Semikolon bzw. SQL-
> Anweisungsketten in einem String - zumindest bis MySQL4.0 nicht.
So steht es auch im Handbuch. Ab 4.1 kennt der Server eine weitere
Connect-Option CLIENT_MULTI_STATEMENTS und die Client-Lib enthält
die dazugehörigen API-Funktionen.
http://dev.mysql.com/doc/refman/4.1/en/c-api-multiple-querie s.html
Allerdings hat diese Vorgehensweise IMNSHO keinen Vorteil, dafür
aber einige Nachteile:
- man kann bei einem Fehler in einem SQL-Statement "mittendrin"
nicht kurzzeitig reagieren.
- man öffnet Tür und Tor für SQL-Injection
> Geht
> das vielleicht mit einer anderen Funktion, so dass ich mehrere SQL-
> Anweisungen in einen String packen kann? Oder geht das in einer anderen
> MySQL-Version?
Mit welchen Versionen das geht, weißt du doch? Ansonsten macht man
halt jedes Statement einzeln, so wie immer schon.
XL
Re: was geht fuer mehrfach-sql-string?
am 26.01.2006 17:20:23 von Hartmut Holzgraefe
Guy Walter wrote:
> Laut Dokumentation kann man nur eine Anfrage senden.
>=20
> http://de3.php.net/manual/en/function.mysql-query.php
>=20
> Das liegt nicht an MySQL4.x oder sonstigen Version!!!
Wer lesen kann ist klar im Vorteil: das MySQL Client API unterstützt
multi-statements seit Version 4.1.1:
http://dev.mysql.com/doc/refman/4.1/en/mysql-set-server-opti on.html
Und PHP seit 5.0:
http://de2.php.net/manual/en/function.mysqli-multi-query.php
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
http://www.mysql.com/support/