Проблем с вземането в XML заради апостроф

sentenello

Registered
Започнах да нагласям кода с който взимам информацията от XML и я вкарвам в моя БД, но когато изпълнението стигна до този ред..
<event name="Colombian Liga P'bon" id="5500"> и ми изведе ето тази грешка


Код:
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 'bon'' at line 1

Полето в което записвам евент наме е VARCHAR, а заявката е в този вид

Код:
INSERT INTO `event` (`id`,`name`,`sportid`) VALUES ('$parvenstvoid','$parvenstvoime','$sportID')
 
sentenello каза:
Започнах да нагласям кода с който взимам информацията от XML и я вкарвам в моя БД, но когато изпълнението стигна до този ред..
<event name="Colombian Liga P'bon" id="5500"> и ми изведе ето тази грешка


Код:
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 'bon'' at line 1

Полето в което записвам евент наме е VARCHAR, а заявката е в този вид

Код:
INSERT INTO `event` (`id`,`name`,`sportid`) VALUES ('$parvenstvoid','$parvenstvoime','$sportID')
Филтрирай променливите с addslashes(); или mysql_real_escape_string();

PHP:
$parvenstvoid = addslashes($parvenstvoid);
$parvenstvoime = addslashes($parvenstvoime);
INSERT INTO `event` (`id`,`name`,`sportid`) VALUES ('$parvenstvoid','$parvenstvoime','$sportID')

SQLi - прочети за този вид атака и защити към базата, сам си си сялнал кода.
Добавя наклонени черти преди специални символи \'
http://bg2.php.net/manual/en/function.addslashes.php
 
Затова се използва (примерно) mysqli и се bind-ват параметрите.

http://php.net/manual/en/mysqli-stmt.bind-param.php
 

Back
Горе