Hendrik007 Geplaatst: 16 april 2006 Geplaatst: 16 april 2006 Ik heb voor mijn website een gastenboek die zijn berichten naar een MySQL database schrijft, alleen als ik een tekst naar de MySQL database wil schijven met een apostrof (') geeft hij een fout melding en slaat hij het bericht niet op. Dit is de fout melding toen ik de tekst 'test' naar de database wou schrijven: "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 'test'','', '2006-04-16 14:18:12')' at line 1" Ik gebruik voor de MySQL, phpMyAdmin. In de bijlage kun je de instellingen vinden van de velden van het gastenboek. Alvast bedankt. Groeten, Hendrik Dreambox 7025+ Dreambox 800HD PVR 80cm op DiSEqC H-H motor 70cm op 19,2 en 23,5 oost
WPW Geplaatst: 16 april 2006 Geplaatst: 16 april 2006 Escapen of encapsulaten, ' word dan "'" of \' gr, WPW. -=[Deze ruimte is opzettelijk leeg gelaten]=-
Gast Geplaatst: 16 april 2006 Geplaatst: 16 april 2006 De juiste manier om iets naar de database weg te schrijven is als volgt. $sql="INSERT INTO tabelnaam (kolomnaam, tweedekolomnaam, enz) VALUE('waardevoorkolomnaam','waardevoortweedekolmnaam','waardevoorenz')
WPW Geplaatst: 16 april 2006 Geplaatst: 16 april 2006 Dat maakt niets uit, het gaat erom als je speciale tekens wil inserten moet je deze escapen of omgeven (enclose/encapsulate), in perl is dat eenvoudig als bvb: $instr =~ s/([\\,\+,\-,\',\",\;,\!,\$,\&,\<,\>,\.,\,,\|,\`])/\\$1/g; gr, WPW. -=[Deze ruimte is opzettelijk leeg gelaten]=-
Gast Geplaatst: 16 april 2006 Geplaatst: 16 april 2006 Oh, ik had meer naar de foutmelding gekeken dan naar de vraag.
Hendrik007 Geplaatst: 17 april 2006 Auteur Geplaatst: 17 april 2006 Bedankt voor jullie reactie, maar de fout zit hem niet in de code maar in de database (instellingen). Want sinds een aantal weken heb ik een andere provider, de oude MySQL database werkte perfect met het gastenboek. Nu heb ik alles over gezet naar de nieuwe MySQL database en het gastenboek veranderd zodat hij naar de nieuwe database schrijft. Alles doet het perfect, alleen het teken ' accepteerd hij niet. Bij mijn eerste bericht heb ik een bijlage bij gedaan, daar zie je de velden en hun eigenschappen. Kan het zijn dat ik deze instellingen verkeerd heb? alvast bedankt! Groeten, Hendrik Dreambox 7025+ Dreambox 800HD PVR 80cm op DiSEqC H-H motor 70cm op 19,2 en 23,5 oost
WPW Geplaatst: 17 april 2006 Geplaatst: 17 april 2006 Ben je soms van 3 naar 4 gegaan ? volgens mij heeft dit iets met database iso instellingen te maken, wat jaren gelee met vfp hetzelfde gehad, alleen ms-sql kan rechtsreeks speciale tekens aan, dat zit in de (client) driver afhandeling van ms, met mysql moet je speciale tekens echt anders behandelen tussen versie 3 en 4. gr, WPW. -=[Deze ruimte is opzettelijk leeg gelaten]=-
Hendrik007 Geplaatst: 18 april 2006 Auteur Geplaatst: 18 april 2006 Ik gebruik MySQL 4.1.15. Ik weet niet welke ik hiervoor gebruikte, ik zal het proberen te achterhalen. Maar waar kan ik die iso instellingen vinden? Ik zie nu trouwens ook het volgende staan: MySQL Karakterset: UTF-8 Unicode (utf8) kan het zijn dat deze verkeerd staat? alvast bedankt! Groeten, Hendrik Dreambox 7025+ Dreambox 800HD PVR 80cm op DiSEqC H-H motor 70cm op 19,2 en 23,5 oost
WPW Geplaatst: 18 april 2006 Geplaatst: 18 april 2006 Ja dat kan, ik heb er toendertijd niet verder naar gekeken aangezien we binnen 1 dag een functie hadden die het teken probleem oploste ongeacht iso instelling. Je kan ze vinden onder admin-panel en dan variables, in mcc dan. gr, WPW. -=[Deze ruimte is opzettelijk leeg gelaten]=-
Big fellow Geplaatst: 18 april 2006 Geplaatst: 18 april 2006 Als het een PHP script is, kijk dan eens naar het gebruik van de functies "addslashes" en "stripslashes" <img src="/forums/images/graemlins/smile.gif" alt="" /> . http://us2.php.net/manual/en/function.addslashes.php Big fellow “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill
Hendrik007 Geplaatst: 19 april 2006 Auteur Geplaatst: 19 april 2006 Ja dat is hem! Dit werkt perfect, maar toch vreemd dat de database niet gewoon (') tekens accepteerd. <img src="/forums/images/graemlins/confused.gif" alt="" /> Bedankt Big Fellow en WPW voor jullie hulp! <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> Groeten, Hendrik Dreambox 7025+ Dreambox 800HD PVR 80cm op DiSEqC H-H motor 70cm op 19,2 en 23,5 oost
Big fellow Geplaatst: 19 april 2006 Geplaatst: 19 april 2006 Graag gedaan hoor.. Maar het is niet zo vreemd hoor dat de DB die quotes speciaal behandelt. Het oorspronkelijke probleem zit hem er waarschijnlijk in dat in de oude configuratie de optie "magic_quotes_runtime" aan stond, en deze nu uit staat. ( Zie ook: http://us3.php.net/manual/en/ref.info.php#ini.magic-quotes-runtime ) Big fellow “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen