2014-11-20 79 views
-1

因此,我试图插入到一个变量的值表的变量。该变量包含'和'特殊字符,所以当这些发生时,它会给语法错误因为它认为它是双重''。任何想法如何解决这个问题?我已经尝试了''和\“\”两种变体。PHP插入到MYSQL'和'与sytax错误

$sql = "INSERT INTO BBC (title, link, description, date) 
    VALUES (\"$value\", \"$link1[$c]\", '$description1[$c]', \"$date[$c]\")"; 
+1

为什么不只是逃避你的数据,如果你不这样做,或使用准备好的语句。 – 2014-11-20 18:55:31

+0

使用准备好的语句并传递变量值作为参数。 – Gumbo 2014-11-20 19:04:16

+0

请记住'日期'是一个保留字。尽管允许但考虑逃避它。 – Rahul 2014-11-20 19:15:11

回答

0

测试此

$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 
    $value = $mysqli->real_escape_string($value); 
    $link1[$c] = $mysqli->real_escape_string(link1[$c]); 
    $description1[$c]= $mysqli->real_escape_string($description1[$c]); 
    $date[$c]= $mysqli->real_escape_string($date[$c]); 

    $sql = "INSERT INTO BBC (title, link, description, date) 
     VALUES 
     ('$value', '$link1[$c]', '$description1[$c]', '$date[$c]')"; 
+0

工作很好,谢谢 – Seb 2014-11-20 20:33:45

-1

这应该工作

$sql = "INSERT INTO BBC (title, link, description, date) 
VALUES ('$value', '$link1[$c]', '$description1[$c]', '$date[$c]')";