| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: SQL-Abfrage mit Komma, die in PHPMyAdmin, aber nich in PHP geht im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Mal wieder so eine Syntax-Frage, deren Antwort sich schlecht ergooglen lässt: PHP-Code: $db = ... $sql = "SELECT * from tabelle where spalte like 'Satz, der ein Komma hat' " $abfrage = mysqli_query ...
![]() |
| | #1 (permalink) |
| Registriert seit: 23.01.10 ![]() Likes: 0 | Mal wieder so eine Syntax-Frage, deren Antwort sich schlecht ergooglen lässt: PHP-Code: Die Abfrage innerhalb von php-Code ausgeführt, geht nicht. Was aber wieder innerhalb von php geht, sind Abfragen, die kein "," (Komma) enthalten. Kann mir einer der überaus hilfsbereiten Leser helfen? An den Anführungszeichen liegt es wohl nicht: habe schon allerlei ausprobiert. So eine dusselige Kleinigkeit. Dank und Gruß, GWBasic gab's auch ma |
| | |
| | #2 (permalink) |
| Moderator ![]() | Das Komma vielleicht mit \ escapen? Ich hab mir da noch nie Gedanken drüber gemacht, wäre aber mein erster Versuch. Und zeigt phpMyAdmin nicht den ausgeführten Befehl nach dem Absenden noch an? Siehst du da eventuell eine Veränderung im Query? |
| | |
| HaBOT | |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 23.01.10 ![]() Likes: 0 | Escapen bringt nix. Danke für die Antwort. Ich kann noch einen draufsetzen: Die Abfrage geht nicht einmal, wenn ich den String mittels explode beim Komma aufteile und das SELECT aufteile in "SELECT * from tabelle where spalte like 'Satz' AND spalte like 'der ein Komma hat' " Spanend. |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 371 | Lass dir doch einfach mal mysql_error() ausgeben.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #5 (permalink) |
| Member of Honour ![]() | poste doch bitte mal 1.) den PHP-Code, möglichst auch ohne die SQL-Query abzuändern 2.) Details, was dir an Fehlern angezeigt wird. (inclusive Ausgabe von mysql_error() ) SQL-Queries, die im PHPmyAdmin funktionieren, sollten normalerweise auch mit mysql_query() unter PHP laufen... Wenn dem nicht so ist, vermute ich ehr einen Fehler im restlichen PHP-Script. Möglicherweise lässt du die SQL-Anfrage ja dynamisch generieren und da entsteht schon irgendwo ein Fehler?! Also bitte ein paar mehr Details zu Code und Fehler-Ausgabe, sonst kann man mit deinen paar Informationen, die du uns hier hinterlassen hast, recht wenig anfangen... |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 23.01.10 ![]() Likes: 0 | Kein Fehler. Abfrage ist einfach leer. Habe gerade gelesen, dass ich das Komma für die Anwendung von mysqli_query escapen soll mit mysqli_real_escape_string. Hm. Mal probieren... |
| | |
| | #7 (permalink) |
| Registriert seit: 13.02.06 ![]() Likes: 1 | wenn du keinen error kriegst hat das nichts mit dem komma zu tun. kommas müssen afaik nicht für sql abfragen mit \ escaped werden schongarnicht wenn sie innerhalb der abfrage zwischen ' stehen. am besten postest du deinen code und die datenbank zeile auf die das ganze matchen soll. |
| | |
| | #8 (permalink) | |
| Senior Member | Zitat:
Wenn dann müsstest du schreiben: SELECT * from tabelle where spalte like 'Satz%' AND spalte like '%der ein Komma hat' (wobei das doppelt gemoppelt wäre) PS: Ich hab hier keine MySQL-Datenbank, aber Oracle ists definitiv so. EDIT: Nicht falsch verstehen. Dein SQL ist syntaktisch gesehen korrekt, nur halt leider logisch sinnlos. Geändert von odigo (12.02.10 um 15:55 Uhr) | |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |