Php 如何使用mysql\u real\u escape\u字符串将数据放入数据库

Php 如何使用mysql\u real\u escape\u字符串将数据放入数据库,php,Php,我正在使用一个简单的guestbookscript,我想用mysql\u real\u escape\u字符串来保护它。但是现在已经没有数据输入数据库了。在我使用此代码之前: $con=mysqli_connect($host,$user,$pass,$dbname); if (mysqli_connect_errno($con)) { echo "<h1>Connectie Database mislukt: " . mysqli_connect_error() ."<

我正在使用一个简单的guestbookscript,我想用mysql\u real\u escape\u字符串来保护它。但是现在已经没有数据输入数据库了。在我使用此代码之前:

$con=mysqli_connect($host,$user,$pass,$dbname);
if (mysqli_connect_errno($con))
{
    echo "<h1>Connectie Database mislukt: " . mysqli_connect_error() ."</h1>";
}

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

date_default_timezone_set('Europe/Amsterdam');
$datetime=date("d-m-y \o\m\ H:i:s"); 

$sql="INSERT INTO guestbook(name,email,message,datetime) VALUES('$name','$email','$message',

我做错了什么?

既然这个问题不应该没有答案,我决定发布以下内容:

mysql\u real\u escape\u string
是一个基于
mysql\u
的函数,不能与
mysqli\u
结合使用。这些不同的MySQL API不会相互混合

因此,您需要在代码中将
mysql\u real\u escape\u string
的所有实例更改为
mysqli\u real\u escape\u string


另外,请仔细研究一下如何使用,否则它们会更安全。

您不能使用mysql的
mysql
版本。添加一个
i
。您混合了
mysql*
mysqli*
函数。你应该使用
mysqli\u real\u escape\u string
,尽管我建议使用预先准备好的语句。所以@Fred ii-如果我添加
I
我得到了什么?@JayBlanchard你需要先买一个元音。哦,错了,山姆。@Daan什么是离开的声明?在这种情况下我们为什么需要它?
$name = mysql_real_escape_string($con, $_POST['name']);
$email = mysql_real_escape_string($con, $_POST['email']);
$message = mysql_real_escape_string($con, $_POST['message']);