无法使用PHP更新MYSQL

无法使用PHP更新MYSQL,php,mysql,forms,sql-update,Php,Mysql,Forms,Sql Update,我有一个简单的MYSQL数据库,其中字段_3是一个varchar键值。我正在尝试将数据库发布更新到两个名为“开始”和“结束”的时间字段 然而,我不断得到这个错误 注意:未定义的变量:empd_在第25行的C:\xampp\htdocs\b1\update.php中结束 无法更新数据:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可在以下位置使用的正确语法:12:00,end=WHERE field_3=Berkay_Sebat@yahoo.com“在1号线 更新MySQ

我有一个简单的MYSQL数据库,其中字段_3是一个varchar键值。我正在尝试将数据库发布更新到两个名为“开始”和“结束”的时间字段

然而,我不断得到这个错误

注意:未定义的变量:empd_在第25行的C:\xampp\htdocs\b1\update.php中结束 无法更新数据:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可在以下位置使用的正确语法:12:00,end=WHERE field_3=Berkay_Sebat@yahoo.com“在1号线


更新MySQL数据库中的记录

您需要将php VAL设置为“”

$sql=“更新usezas”。
“设置开始='$emp_salary',结束='$empd_end'”。

“其中字段_3=”$emp_id'

您在
end
的值后面缺少一个空格。此外,您需要用引号将变量括起来,如下面的查询所示

$sql = "UPDATE usezas ".
       "SET start = '$emp_salary', end = '$empd_end' ".
       "WHERE field_3 = $emp_id" ;

但是,您的代码容易受到SQL注入的攻击。您确实准备好了查询,应该使用PDO或MySQLi扩展,而不是旧的mysql_查询扩展。

对于SQL语句的调试问题,您可以
echo$SQL在提交到数据库之前。(您将发现字符串和日期时间文本需要在SQL语句中用单引号括起来。这些看起来像代码中的变量,但在发送到数据库的SQL文本中,它们是文本。)此外,mysql接口也不推荐使用;新开发应该使用mysqli或PDO。在SQL文本中合并潜在的不安全值时,需要正确转义这些值。更好的模式是使用带有绑定占位符的预处理语句。它表示数据更新成功,但由于某种原因,第二个值没有被发布到我的数据库中。第二个值是$emp_end。
$sql = "UPDATE usezas ".
       "SET start = '$emp_salary', end = '$empd_end' ".
       "WHERE field_3 = $emp_id" ;