Probleem met quotes
Mijn Insert query loopt vast op volgende string:
2″
Nochtans gebruik ik het volgende:
$string = mysql_real_escape_string($string);
Maar blijkbaar is dit niet genoeg want zodra er schuine quotes in de string staan, loopt heel de SQL query vast en krijg ik errors dat de query niet goed gevormd zou zijn.
Hoe los je zoiets op?
2″
Nochtans gebruik ik het volgende:
$string = mysql_real_escape_string($string);
Maar blijkbaar is dit niet genoeg want zodra er schuine quotes in de string staan, loopt heel de SQL query vast en krijg ik errors dat de query niet goed gevormd zou zijn.
Hoe los je zoiets op?
Gesponsorde koppelingen:
om te beginnen is het al fout om mysql_real_escape_string terug te geven aan een php-variabele!!
de mysql_real_escape_string gebruik je alleen binnen de sql-statements!
En als je tegen dit soort problemen aanloopt dan:
1. post de query welke uitgevoerd wordt
2. post de foutmelding die erbij hoort
Want je zit nu ergens naar te kijken wat niet tot het probleem behoort!
de mysql_real_escape_string gebruik je alleen binnen de sql-statements!
En als je tegen dit soort problemen aanloopt dan:
1. post de query welke uitgevoerd wordt
2. post de foutmelding die erbij hoort
Want je zit nu ergens naar te kijken wat niet tot het probleem behoort!
Gewijzigd op 26/05/2011 19:03:14 door Noppes Homeland
Het voorbeeld maakt eigenlijk niet uit.
Er zou toch een soort van universele oplossing moeten zijn om strings met eender welke inhoud veilig op te kunnen slaan via een insert query.
Ik heb altijd gedacht dat het genoeg was om de functie mysql_real_escape_string() te gebruiken, maar blijkbaar is dit niet voldoende. Welke andere functie(s) zijn er nog nodig ?
EDIT:
Hier is een voorbeeldje van een query:
INSERT INTO
wordlogger (search, word, count)
VALUES ('car+name','*Saveââ??·ââ??·',1) ON DUPLICATE KEY UPDATE count = count + 1 ;
==> Dit geeft dus een MySQL syntax error voor het gedeelte waar *Saveââ??·ââ??· werd ingevuld
Er zou toch een soort van universele oplossing moeten zijn om strings met eender welke inhoud veilig op te kunnen slaan via een insert query.
Ik heb altijd gedacht dat het genoeg was om de functie mysql_real_escape_string() te gebruiken, maar blijkbaar is dit niet voldoende. Welke andere functie(s) zijn er nog nodig ?
EDIT:
Hier is een voorbeeldje van een query:
INSERT INTO
wordlogger (search, word, count)
VALUES ('car+name','*Saveââ??·ââ??·',1) ON DUPLICATE KEY UPDATE count = count + 1 ;
==> Dit geeft dus een MySQL syntax error voor het gedeelte waar *Saveââ??·ââ??· werd ingevuld
Gewijzigd op 26/05/2011 21:52:59 door Fromzon ngl
Dat is wel voldoende. Ik denk eerder dat je het verkeerd toepast.
je moet mysql_real_escape_string in de query zelf toepassen, en niet in daarbuiten.
Victor - op 26/05/2011 21:43:57:
je moet mysql_real_escape_string in de query zelf toepassen, en niet in daarbuiten.
Dit maakt toch niet uit?
Of ik nu rechtstreeks
mysql_real_escape_string($var) gebruik, of
$var = mysql_real_escape_string($var)
Hierbij is het resultaat toch hetzelfde?
Gewijzigd op 26/05/2011 21:50:45 door Fromzon ngl
omdat het stomzinnig is om onnodig vars te kopieren
Vincent Huisman op 26/05/2011 21:52:09:
omdat het stomzinnig is om onnodig vars te kopieren
Maar het probleem van dit topic heeft er dus weinig mee te maken.
Deleted.
Gewijzigd op 26/05/2011 21:54:26 door PHP Scripter
Hoe pas je die code dan toe?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
$searchTerm = clean($searchTerm);
$word = clean($word);
$query = " INSERT INTO ".WORDLOGGER." (search, word, count)
VALUES ('".$searchTerm."','".$word."',1)
ON DUPLICATE KEY UPDATE count = count + 1
;";
$this->objMySqlConnection->insert($query);
De clean-functie bevat de mysql_real_escape_string()
Deze query werkt meestal feilloos, behalve dus bij bovengenoemde voorbeelden, dan loopt hij vast.
De error is:
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 ''*Saveââ' at line 2
Maar dus even herhalen: deze query loopt in een loopje en word constant succesvol uitgevoerd, tot hij dit soort van string tegenkomt
Gewijzigd op 26/05/2011 22:45:28 door Fromzon ngl
Je doet niks met het gegeven advies he?
Gewijzigd op 26/05/2011 22:49:12 door - Aar -
- Aar - op 26/05/2011 22:45:55:
Je doet niks met het gegeven advies he?
Wat bedoel je?
Gewijzigd op 26/05/2011 22:58:01 door Fromzon ngl
Lees eens terug in dit topic.
Hoe ziet die clean() functie eruit?
Hoe ziet die clean() functie eruit?
Gewijzigd op 26/05/2011 23:12:05 door - Aar -
Twee dingen ontgaan me:
Waarom een functie maken om een andere functie mee in te laden? Is onzinnig
Waarom overschrijf je variabelen? Is onzinnig
Als je een echo plaats, doe je dan ook maar meteen dit?
Waarom een functie maken om een andere functie mee in te laden? Is onzinnig
Waarom overschrijf je variabelen? Is onzinnig
Als je een echo plaats, doe je dan ook maar meteen dit?
Aar,
jij kan een hele hoop onzin uitkramen, dat weet ik nog van vorige keer:
http://www.phphulp.nl/php/forum/topic/geavanceerd-javascriptfunctie-direct-laten-uitvoeren-2-syntaxen/75486/
Voor de geinteresseerden, ik heb het probleem gevonden, het was namelijk te wijten aan een character set conversie van "UTF-8" naar "cp1252"
Toen ik deze conversie heb opgeheven, was het probleem opgelost.
@ Aar,
stop met zeuren over pietlulligheden in elke topic, je helpt niemand vooruit, integendeel.
Topic solved.
jij kan een hele hoop onzin uitkramen, dat weet ik nog van vorige keer:
http://www.phphulp.nl/php/forum/topic/geavanceerd-javascriptfunctie-direct-laten-uitvoeren-2-syntaxen/75486/
Voor de geinteresseerden, ik heb het probleem gevonden, het was namelijk te wijten aan een character set conversie van "UTF-8" naar "cp1252"
Toen ik deze conversie heb opgeheven, was het probleem opgelost.
@ Aar,
stop met zeuren over pietlulligheden in elke topic, je helpt niemand vooruit, integendeel.
Topic solved.
Gewijzigd op 27/05/2011 00:54:55 door Fromzon ngl
Ik kraam geen onzin uit. Wil je een efficiënt script hebben, dan is dit kleine moeite.
Als je op zo'n toon in dit topic naar mij doet blaten, dan vraag ik me nog hard af of ik nog advies moet geven, gezien je er toch niks mee doet.
Mijn advies, en volg die liever op: Leer ervan, en doe er wat mee.
Verder: Fijn dat het opgelost is. Toevallig liep ik er ook tegenaan met PMA vandaag.
Als je op zo'n toon in dit topic naar mij doet blaten, dan vraag ik me nog hard af of ik nog advies moet geven, gezien je er toch niks mee doet.
Mijn advies, en volg die liever op: Leer ervan, en doe er wat mee.
Verder: Fijn dat het opgelost is. Toevallig liep ik er ook tegenaan met PMA vandaag.
Gewijzigd op 27/05/2011 00:56:36 door - Aar -
- Aar - op 27/05/2011 00:54:38:
Als je op zo'n toon in dit topic naar mij doet blaten, dan vraag ik me nog hard af of ik nog advies moet geven, gezien je er toch niks mee doet.
Jouw advies lost niets op, daarom doe ik er ook niets mee. Ga je mij dat nu kwalijk nemen?
Jij moet telkens in elk topic over zaken beginnen zeuren waar de vraag van de Opening Poster totaal niet over gaat, en zo maak je de topics alleen maar onduidelijk zonder echt te helpen.
Gewijzigd op 27/05/2011 00:57:39 door Fromzon ngl
Wil je efficiënt script, of niet?
Als je straks een topic gaat starten dat je script teveel geheugen verbruikt, dan weet je wat ik in ieder geval gezegd heb.
het is notabene geen afkrakende kritiek, maar opbouwende kritiek.
It's a bull...
Zie Vincents reactie in je topic waar je naar verwees.
Als je straks een topic gaat starten dat je script teveel geheugen verbruikt, dan weet je wat ik in ieder geval gezegd heb.
het is notabene geen afkrakende kritiek, maar opbouwende kritiek.
Quote:
Jij moet telkens in elk topic over zaken beginnen zeuren waar de vraag van de Opening Poster totaal niet over gaat, en zo maak je de topics alleen maar onduidelijk zonder echt te helpen.
It's a bull...
Zie Vincents reactie in je topic waar je naar verwees.
Gewijzigd op 27/05/2011 01:02:40 door - Aar -
Sorry hoor Aar als ik bot klink,
maar als ik uren op zo'n probleem zit te zoeken,
en dan terwijl krijg ik constant off-topic commentaar over hoe ik omga met variabelen en functies zonder ook maar enige tekst tegen te komen die ook maar in de buurt zit van een eventuele oplossing voor mijn probleem, dan is dat een beetje frustrerend.
maar als ik uren op zo'n probleem zit te zoeken,
en dan terwijl krijg ik constant off-topic commentaar over hoe ik omga met variabelen en functies zonder ook maar enige tekst tegen te komen die ook maar in de buurt zit van een eventuele oplossing voor mijn probleem, dan is dat een beetje frustrerend.
Gewijzigd op 27/05/2011 01:09:49 door Fromzon ngl



