2014-11-20 100 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]')";