Probleme insert sir cu ghilimele si HTML in MySQL

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
mybab
Mesaje: 26

Probleme insert sir cu ghilimele si HTML in MySQL

Buna,
Vreau sa introduc in baza de date urmatoarele:

Cod: Selectaţi tot

//var_dump($your_numbers); //am folosit var_dump pentru test
//afiseaza asta de aici :
/*
string '<div class=l_b'>9</div><div class='l_ball_1'> 10</div><div class='l_b'> 15</div><div class='l_ball_1'> 21</div><div class='l_b'> 31</div><div class='l_s'>8</div><div class='l_stars_1'> 9</div>
             <div class='l_ball_1'>11</div><div class='l_ball_1'> 14</div><div class='l_b'> 39</div><div class='l_ball_1'> 46</div><div class='l_ball_1'> 48</div><div class='l_stars_1'>5</div><div class='l_s'> 10</div>
             '... (length=1038)
*/
am setat pe VARCHAR(255) am schimbat pe TEXT, am erroarea:

Cod: Selectaţi tot

SQLSTATE[42000]: Syntax error or access violation: 1064 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 'l_b'>9 10 1' at line 2
Introduc mai multe in baza de data , daca sterg 'your_numbers' $your_numbers ,, se introduce celelalte ok
Nu am ideie pe care linia 2 ii eroarea, sau trebuie folosita alceva , sau nu se poate introduce taguri.

MarPlo
Salut
Problema pare sa fie de la ghilimelele din sir. Indicat e sa aplici mysqli_real_escape_string() (daca folosesti MySQLi) sau PDO cu prepare() si execute().
Exemplu pt MySQLi:

Cod: Selectaţi tot

$sir = $mysqli->real_escape_string($sir);
$sql = "INSERT into tabel (col) VALUES ('$sir')";  
Sau, sa folosesti addslashes() la sirul care-l adaugi cu insert.

Cod: Selectaţi tot

$sir = addslashes($sir);
$sql = "INSERT into tabel (col) VALUES ('$sir')";  
Iar la Select aplici functia inversa, stripslashes().

mybab
Cu addslashes($sir); am facu si le insera in baza de date .
ok, multumesc

Subiecte similare