[英]PHP - HTML input string is stored as escape-sequence string in MySQL
我有使用HTML,PHP,MySQL的基本網站。
HTML輸入:
C# - Developer's Guide "LIMITED EDITION"
變成
在PHP中:
C# - Developer\'s Guide \"LIMITED EDITION\"
在MySQL中:
C# - Developer\'s Guide \"LIMITED EDITION\"
在PHP中,我使用:
if(empty($_POST['book_title'])) {
$errors['book_title'] = TRUE;
} else {
$book_title = mysqli_real_escape_string($link, trim($_POST['book_title']));
}
$query1 = "INSERT INTO book(title) VALUES(?)";
if(!$errors && mysqli_stmt_prepare($stmt,$query1))
{
mysqli_stmt_bind_param($stmt, "s", $book_title) or die("Bind param failed");
if(!mysqli_stmt_execute($stmt)) {
$errors['table_book'] = TRUE;
}
} else {
$errors['table_book'] = TRUE;
}
編輯:magic_quotes被關閉。 我正在使用PHP 7.0.3。
怎樣在PHP和MySQL中獲得HTML輸入呢?
如果可以幫助我,magic_quotes(我在博客的某處聽到)是什么?
問我是否需要其他信息。 幫我。
如上述評論和其他SO查詢中的“ Phil”所建議(當使用“我應在准備好的語句中使用mysqli_real_escape_string”進行搜索時),
僅使用Prepared Statement,而不是mysqli_real_escape_string()或兩者結合使用 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.