vreemde error ontdekt in Mysql on InnoDB tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Malick heuvel

malick heuvel

26/11/2007 13:41:00
Quote Anchor link
hey phpers,

voor diegenen die het willen weten ik ontdekte de error

bij het gebruik van`` en ´´ in sql querys de 2de codeert data waardoor een sql query in feite met raw data wordt gevuld zie hier de query:

SELECT * FROM `suppliers` WHERE supplier like ´%bachem%´


Zie hier de response van MySQL:

There is a chance that you may have found a bug in the SQL parser. Please examine your query closely, and check that the quotes are correct and not mis-matched. Other possible failure causes may be that you are uploading a file with binary outside of a quoted text area. You can also try your query on the MySQL command line interface. The MySQL server error output below, if there is any, may also help you in diagnosing the problem. If you still have problems or if the parser fails where the command line interface succeeds, please reduce your SQL query input to the single query that causes problems, and submit a bug report with the data chunk in the CUT section below:
----BEGIN CUT----
eNo1jrtugzAARXd/xR2SpQILUxLAG0JugsSrNg1SpjzqNqhAKCRD/osvyJcVhq73da6QMpMcIUNo
IxYph+PC8bDyiComYyQk3CmORfTJMfzW3bEfdE/r6kS7Swf/lbmwLWttWp7J1mAud2xusT1q3fhY
kOSh3mOOFbWo7Zrna9Pc2+r2MOvrN/lQEpkyEGxEWhjYiYlXVi2SbB/FcTCXSJ4EHDb1KaOM5Nt8
ThmZmhdt6qCM0rQgcZBuOHRr3m9f5nR8JioRi7DAC95kluAw3LuurnQ/HFBuhRT4F1BXPxrPcXk6
ni+6WT7HP8atTMw=
----END CUT----
----BEGIN RAW----

ERROR: C1 C2 LEN: 47 48 58
STR: �

CVS: $Id: sqlparser.lib.php 9317 2006-08-16 17:42:01Z lem9 $
MySQL: 5.0.27-community-log
USR OS, AGENT, VER: Win MOZILLA 5.0
PMA: 2.9.1.1
PHP VER,OS: 5.2.4 WINNT
LANG: en-utf-8
SQL: SELECT * FROM `suppliers` WHERE supplier like ´%bachem%´

----END RAW----

SQL query: Documentation

SELECT * FROM `suppliers` WHERE supplier like ´%bachem%´

MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%bachem%´' at line 1
 
PHP hulp

PHP hulp

27/04/2024 01:36:56
 
TJVB tvb

TJVB tvb

26/11/2007 13:57:00
Quote Anchor link
haal in ieder geval die backticks weg dus:
SELECT * FROM suppliers WHERE supplier like %bachem%
 
Willem Jan Z

Willem Jan Z

26/11/2007 14:05:00
Quote Anchor link
Kan aan mij liggen, maar je verneukt gewoon je query, phpMyAdmin lult wat en het moet opeens een bug zijn? Lijkt me sterk..
 
Jurgen assaasas

Jurgen assaasas

26/11/2007 14:07:00
Quote Anchor link
Geen backticks gebruiken alleen ' ' voor strings!
 
Robin de Vries

Robin de Vries

26/11/2007 14:51:00
Quote Anchor link
SELECT * FROM suppliers WHERE supplier LIKE %bachem%
??
 
Robert Deiman

Robert Deiman

26/11/2007 15:15:00
Quote Anchor link
SELECT * FROM suppliers WHERE supplier LIKE '%bachem%'

Of zo:

SELECT * FROM suppliers WHERE supplier = '%bachem%'
 
Onbekend Onbekend

Onbekend Onbekend

26/11/2007 15:21:00
Quote Anchor link
LIKE en gewoon = is een geruwelijk groot verschil hoor robert..
 
- SanThe -

- SanThe -

26/11/2007 15:40:00
Quote Anchor link
Waar komt dat vreemde teken vandaan achter de tweede %? Daar gaat ie waarschijnlijk van over zijn nek. Gebruik je soms zo'n wazige Microsoft editor in plaats van een fatsoenlijke ASCII editor?

'%bachem%´
 
Robert Deiman

Robert Deiman

26/11/2007 16:00:00
Quote Anchor link
@Tommy

Vaak (iig bij de vorige versie, ik gebruik zelf wel altijd LIKE) kan je ook gewoon = '%blabla%' gebruiken. Of het nog zo is weet ik niet, maar dat werkte op zich hetzelfde.
 
Malick heuvel

malick heuvel

26/11/2007 16:08:00
Quote Anchor link
ik begrijp natuurlijk dat je geen backticks mag gebruiken maar waar het mij omgaat is de anderen wijzen op de error report die Mysql hierbij geeft Santhe stelt hierover inderdaad een goede vraag waar komt die %bachem%´ vandaan bij het gebruik van backtiks thats the topic
 
Malick heuvel

malick heuvel

26/11/2007 16:10:00
Quote Anchor link
Nee hoor deze error is afkomstig uit phpmyadmin Santhe op een Innodb tabel

hmmm maakt deze eigenschap Mysql nu funerable voor zgn file injections bij het gebruik van backticks in querys ?
Gewijzigd op 01/01/1970 01:00:00 door malick heuvel
 
Onbekend Onbekend

Onbekend Onbekend

26/11/2007 16:18:00
Quote Anchor link
ik dacht toch echt dat alleen like mocht.
 
Malick heuvel

malick heuvel

26/11/2007 16:20:00
Quote Anchor link
beiden mogen alleen het verchil LIKE is niet hoofdletter gevoelig en zal dus meer vinden bij een wildcart select dan =
 
Frank -

Frank -

26/11/2007 16:24:00
Quote Anchor link
Quote:
vreemde error ontdekt in Mysql
MySQL gebruikt het begrip 'database' om aan te geven dat het een verzameling bugs, fouten en blunders betreft. Dat je dan weer eens iets nieuws ontdekt, is niets bijzonders. De meeste fouten van MySQL staan gewoon beschreven in de handleiding, het is normaal gedrag dat er iets niet werkt of dat jij jouw data kwijt raakt.

Dat anderen denken dat ze met deze verzameling ellende een goede en vooral veilige DBMS in huis hebben, dat is hun probleem.
 
Malick heuvel

malick heuvel

26/11/2007 16:39:00
Quote Anchor link
hmmm daar zeg je me wat pgFrank, dat is zeer gevaarlijk. Er zijn ontelbare partijen betrokken bij MySQL en ik heb nog nooit zo een mysql tegenstander als jou gevonden. Gedeeltelijk geef ik je geen ongelijk, maar dit is een ernstig probleem indien het werkelijk een hoop bugs betreft en er risicos zijn dat men data zomaar kwijt kan raken
 
Arend a

Arend a

26/11/2007 17:08:00
Quote Anchor link
SELECT * FROM `suppliers` WHERE supplier like ´%bachem%´

Maak hier eens:

SELECT * FROM supplier WHERE supplier like '%bachem%'

Het probleem is, zoals mensen eerder al zeiden: het gebruik van rare quotes.

Check dit eerst, daarna kunnen we het nog hebben over dat je natuurlijk veel beter postgresql kunt gebruiken omdat dat nou een maal veel beter is.
 
Frank -

Frank -

26/11/2007 17:16:00
Quote Anchor link
Voorbeeldje van hoe je data kwijt raakt:
Tabel aanmaken met een kolom 'content' van het type VARCHAR(255). Vervolgens slinger je daar een stuk tekst in die meer dan 255 karakters bevat en dat was het dan. Alles wat niet in het veld past, raak je kwijt. Dat ondanks dat je hier een foutmelding op hoort te krijgen. Die kun je wel krijgen, maar alleen in het zeldzame geval dat je STRICT-mode gebruikt. En laat nu vrijwel niemand deze instelling gebruiken omdat dan veel bestaande systemen niet meer werken of heel foutmeldingen gaan geven.

Op Yapf.net vind je een overzicht van heel veel MySQL-ellende wat helemaal niet nodig is. Gebruik een echte DBMS en klaar ben je.
 
Malick heuvel

malick heuvel

26/11/2007 17:28:00
Quote Anchor link
hey pgFrank bedankt voor je reactie kijk ook eens naar de recente topic die ik op de forum heb geplaatst over TRUNCATE ik zal erzker naar kijken op Yapf.net en Arend ik weet dat dat backticks niet kunnen ik zoek ook niet naar een oplossing maar wil anderen attenderen op de error die mysql bij deze querys geeft toch bedankt
Gewijzigd op 01/01/1970 01:00:00 door malick heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.