Ga naar inhoud


MySQL kent geen apostrof


Hendrik007

Aanbevolen berichten

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.

post-1687-1318258665,2016_thumb.jpg

Groeten,

 

Hendrik

 

Dreambox 7025+

Dreambox 800HD PVR

80cm op DiSEqC H-H motor

70cm op 19,2 en 23,5 oost

Link naar reactie
Delen op andere sites


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')

Link naar reactie
Delen op andere sites

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]=-

Link naar reactie
Delen op andere sites

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

Link naar reactie
Delen op andere sites

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]=-

Link naar reactie
Delen op andere sites

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

Link naar reactie
Delen op andere sites

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]=-

Link naar reactie
Delen op andere sites

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

Link naar reactie
Delen op andere sites

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

Link naar reactie
Delen op andere sites

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

Link naar reactie
Delen op andere sites

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 account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...