Php `mysql\u real\u escape\u string()`返回空的mysql字段
我有一个HTML联系人表单,允许用户在Php `mysql\u real\u escape\u string()`返回空的mysql字段,php,html,mysql,Php,Html,Mysql,我有一个HTML联系人表单,允许用户在消息输入字段中编写任何他想要的内容。此表单使用AJAX发布,并在下面的PHP中处理 我的问题是MySql表中有一个空行 我只是想知道为什么$message=$\u POST['message']返回正确的值返回空字符串 我在这里错过了什么?? //posted data $firstName = mysql_real_escape_string($_POST['firstName']); $lastName = mysql_real_
消息
输入字段中编写任何他想要的内容。此表单使用AJAX发布,并在下面的PHP中处理
我的问题是MySql表中有一个空行
我只是想知道为什么$message=$\u POST['message']当$message=mysql\u real\u escape\u字符串($\u POST['message'])时,code>返回正确的值代码>返回空字符串强>
我在这里错过了什么??
//posted data
$firstName = mysql_real_escape_string($_POST['firstName']);
$lastName = mysql_real_escape_string($_POST['lastName']);
$name = $firstName. ' ' .$lastName ;
$email = mysql_real_escape_string($_POST['email']);
$phone = mysql_real_escape_string($_POST['phone']);
$subject = mysql_real_escape_string($_POST['subject']);
$hear = mysql_real_escape_string($_POST['hear']);
$message = mysql_real_escape_string($_POST['message']);
$db_server = mysql_connect($db_hostname, $db_username, $db_password)
// Check if is Duplicates
$query_usercheck = " select * from `test` where Name='$name' and Email='$email' and Phone='$phone' and Subject='$subject' and Message='$message' "; //matching all fields
$usercheck = mysql_query($query_usercheck) or die(mysql_error());
$row_usercheck = mysql_fetch_assoc($usercheck);
$totalRows_usercheck = mysql_num_rows($usercheck);
if ( $totalRows_usercheck > 0 ) {
$duplicate = 'Yes';
} else {
$duplicate = 'No';
//adding application data to MySql database
$add = mysql_query("INSERT INTO `test` (`Date`, `Day`, `Time`, `Name`, `Email`, `Phone`, `Subject`, `From`, `Message`)
VALUES ('$date','$day','$time','$name','$email','$phone','$subject','$hear','$message')");
}
// close mysql
mysql_close();
mysql\u real\u escape\u string
需要一个活动的数据库连接来完成它的工作。您尚未在调用数据库时建立连接。问题是,您在执行mysql\u real\u escape\u string
之后才连接到数据库。在转义变量之前,请将连接移动到数据库
更好的是,去掉不推荐的mysql.*
函数(甚至在PHP7中都没有了)!使用mysqli或更好:将准备好的语句作为偶数使用。停止使用不推荐使用的和从PHP7起删除的mysql函数。迁移到PDO并开始使用准备好的语句。它可能需要一个连接,它可能会发生并将您的连接放在第一位。编辑:是的,我说过;-)当我使用$message=$\u POST['message']
时,一切都很顺利,MySql表中的所有字符串都已填好。请。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO。