$_SESSION['ddv'](或 $all_ddv)是一串像這樣的名字:'name 1'、'name 2'等(注意單引號)。我需要完全像這樣存儲這個字段(使用 ' 和 ,),因為我稍后會用一個看起來像這樣的查詢來回憶它:SELECT * FROM ".$tbl"。哪里voix(字段 ddv)問題是每個名稱(在單引號之間并用逗號分隔)都被視為一個新的字段條目,我收到 SQL 錯誤 1136 - 錯誤的字段計數。我嘗試了“,',, to no avail...Table structure : num, pseudo, title, ddv, visible (trouble is withddv 字段`)的所有可能組合<?php//Save the selection to table book_persoif(isset($_GET["session_save_ddv"])) { $all_ddv = $_SESSION['ddv']; echo 'ECHO $all_ddv for debugging : '.$all_ddv.'<br>'; $sql = "INSERT INTO livres_perso VALUES ('num','$_GET[pseudo]', '$_GET[title]', '$all_ddv','0')"; if (mysql_query($sql)) { echo "New record created successfully !"; } else { echo "** Error: " . $sql . "<br>" . mysql_errno(); }}?>在表中我想要: 2 | my pseudo | my title | 'john', 'anne', 'ed' | 1 |
1 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
您應該轉換為 PDO 或 MySQLI 并使用準備好的語句而不是將變量替換為 SQL 字符串。但是在你能做到這一點之前,你需要使用mysql_real_escape_string()轉義字符串,以防止 SQL 注入和轉義引號。
$pseudo = mysql_real_escape_string($_GET['pseudo']);
$title = mysql_real_escape_string($_GET['title']);
$all_ddv = mysql_real_escape_string($_SESSION['ddv']);
$sql = "INSERT INTO livres_perso VALUES ('num', '$pdeudo', '$title', '$all_ddv','0')";
- 1 回答
- 0 關注
- 220 瀏覽
添加回答
舉報
0/150
提交
取消