我有一个使用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(我在博客上听到过),如果它能帮助我的话?
问我你是否需要其他信息。帮帮我。
正如"Phil"在上述评论和其他SO查询中所建议的那样(当用"我应该使用mysqli_real_escape_string with prepared statement"进行搜索时),
仅使用Prepared Statement,而不是mysqli_real_escape_string()或两者的组合。