Toon posts:

[PHPMYSQL] mysql_query en htmlentities(stripslashes())

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb nog een vraag/probleem t.o.v:
http://gathering.tweakers.net/forum/list_messages/819346

Met htmlentities(stripslashes()) werkt mij
PHP:
1
<input name="bla" value="$var" bla bla...
nu netjes als er in mijn var. een enkele quote of een dubbele quote voorkomt.

maar nu doet zich een volgend probleem voor:

PHP:
1
mysql_query ("insert into database values ('$bla')");


Deze mysql_query werkt dus niet meer als er in $var een enkele quote of een dubbele quote voorkomt.

Ik zo ook niet weten hoe ik dit op los.
Het enige wat ik kan bedenken is weer addslashes() te doen maar dit is niet echt de oplossing volgens mij.

Vriendelijke groet JorJor
(jah ik heb P&W Beleid gelezen en ik hoop dat ik nu wel aan de voorwaarde doe _/-\o_ )

[ Voor 4% gewijzigd door Verwijderd op 09-10-2003 13:00 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Waarom heb je het nog niet geprobeerd, met die addslashes?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Omdat dat niet echt een mooie oplossing is en volgens is er wel iets wat beter/netter is.

Verwijderd

Topicstarter
Okee ik heb het ook gelijk even getest net en de invoer wordt ook fout:
als ik addslashes gebruik krijg ik dit in mijn database:
Quote's quote"s

als ik dit invoer:
Quote's quote"s

En dat is ook niet echt de bedoeling.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Gebruik de functie mysql_escape_string()

http://php.net/mysql_escape_string

:)

edit:

dus

PHP:
1
2
3
<?
mysql_query ("insert into database values ('" . mysql_escape_string($bla) . "')");
?> 

[ Voor 41% gewijzigd door Michali op 09-10-2003 12:37 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
Ai... het is een oplossing, maar dan krijg ik wel bruut lange query's en onoverzichtelijk :/

[ Voor 7% gewijzigd door Verwijderd op 09-10-2003 12:39 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Doe dan voor de query's iets als dit
PHP:
1
$bla = mysql_escape_string($bla);

Overigens is een variabel zo in een string plakken volgens mij veel onoverzichtelijk als je het mij vraagt.

Je kunt trouwens ook iets als dit doen als je alle post data in een query wilt plakken.
PHP:
1
2
3
4
foreach ( $_POST as $key => $value )
{
    $_POST[$key] = mysql_escape_string($value);
}

Het is maar een ideetje :)

[ Voor 40% gewijzigd door Michali op 09-10-2003 12:42 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
Héé Michali, ik heb het even getest met mysql_escape_string() maar dan krijg ik " in mijn database en dat is nou ook weer niet de bedoeling.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Bedoel je dat een ' een " wordt? daar heb ik nooit last van gehad? Weet je zeker dat er geen " al in de string zit?

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
in mij string zit een enkele quote en een dubbele quote en met mysql_escape_string($bla);
wordt mijn dubbele quote &qu ot; (alleen dan zonder spatie) in mijn database

[ Voor 7% gewijzigd door Verwijderd op 09-10-2003 12:58 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Lijkt me sterk dat mysql_escape_string dat doet. Weet je zeker dat je nergens een htmlentities op de data uitvoerd? Die geeft namelijk wel zo'n output. Als ik dit doe
PHP:
1
2
3
4
5
<?

print mysql_escape_string('"');

?>


krijg ik gewoon \" als output, zoals het hoort.

Print de waarde $bla eens uit voordat je die mysql_escape_string gebruikt. (kijk dan in de source) Ik denk haast dat er al een &quot ; in staat.

[ Voor 33% gewijzigd door Michali op 09-10-2003 13:03 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
Okee ik zal even zeggen wat ik geprobeerd heb:

PHP:
1
2
$bla = mysql_escape_string($bla);
mysql_query ("insert into database values ('$bla')");


in de var. $bla zitten enkele en dubble qoutes en mijn database krijg ik dan
niet lala"la'la maar maar lala&qu ot;la'la (alleen dan zonder spatie)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Gelukkig hebben we naast het P&W Beleid ook nog een P&W Faq.

En warempelgewijs staat jouw vraag er ook in

Verder is het manual werk en een beetje logisch nadenken.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.