Toon posts:

[MYSQL] INSERT query gaat niet goed ivm " teken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik wil wat wegschrijven in een database, maar zodra er een ' of " in de tekst staat, gaat het mis. Het ' teken heb ik nu opgelost met addslashes, maar zodra er een " in de tekst ziet, ziet hij het gewoon als het einde van de query. Ik heb al veel geprobeerd en ben nu zover dat ik de " tekens om wil zetten in ' tekens. Maar dit lukt ook niet. Hier de code:
PHP:
1
2
3
4
5
6
7
8
9
10
$correctname = $_POST[gname];
$correcttext = $_POST[gtext];

$correctname = str_replace(CHR(34),"'",$correctname);
$correcttext = str_replace(CHR(34),"'",$correcttext);

$correctname = addslashes($correctname);
$correcttext = addslashes($correcttext);

mysql_query("INSERT INTO cmw_invites (invname, invtext) VALUES ('$correctname', '$correcttext')") or die ("error: ".mysql_error());


Wat gaat er fout of wat moet ik anders doen?

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
addslashes zet ook slashes voor double quotes:
Geeft een string weer met backslashes voor characters die moeten worden gequote in database queries etc. Deze characters zijn single quote ('), double quote ("), backslash (\) en NUL (de NULL byte).
Haal die str_replace eens weg en toon de foutmelding die je dan krijgt, ik vermoed dat het ergens anders aan ligt.

If you can't beat them, try harder


  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Gebruik mysql_real_escape_string, is het meest veilige en je probleem is meteen ook opgeslost.

Verwijderd

Topicstarter
Ik krijg geen foutmelding, hij doet gewoon niks.

[ Voor 41% gewijzigd door Verwijderd op 10-08-2006 15:41 ]


Verwijderd

Topicstarter
mysql_real_escape_string had ik ook al geprobeerd, maar nu toch ook weer geprobeerd. Nog steeds niks.

  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op donderdag 10 augustus 2006 @ 12:04:
mysql_real_escape_string had ik ook al geprobeerd, maar nu toch ook weer geprobeerd. Nog steeds niks.
Dan doe je iets anders niet goed, ik gebruik het altijd.

Verwijderd

Topicstarter
Ik heb mysql_real_escape_string op een andere pagina toegepast en daar werkt het wel. Ik moet ff iets ombouwen in deze pagina en dan werkt het wel.

Bedankt!
Pagina: 1