Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新mysql数据库中现有行中的数据_Php_Mysql_Database_Post - Fatal编程技术网

Php 更新mysql数据库中现有行中的数据

Php 更新mysql数据库中现有行中的数据,php,mysql,database,post,Php,Mysql,Database,Post,我有一个名为pack_details的表,有4列。我正在尝试将新数据插入到现有表中。有人能告诉我我的代码出了什么问题,为什么我有一个解析错误吗 $sql_query = "UPDATE pack_details SET $delivery_date = $_POST["delivery_date"], $delivery_time = $_POST["delivery_time"] WHERE $delivery_building = $_POST["delivery_building"] AN

我有一个名为pack_details的表,有4列。我正在尝试将新数据插入到现有表中。有人能告诉我我的代码出了什么问题,为什么我有一个解析错误吗

$sql_query = "UPDATE pack_details SET $delivery_date = $_POST["delivery_date"], $delivery_time = $_POST["delivery_time"]
WHERE $delivery_building = $_POST["delivery_building"]
AND $delivery_room = $_POST["delivery_room"]";

请尝试以下任何选项:

 $sql_query = "UPDATE pack_details SET $delivery_date = '{$_POST['delivery_date']}', $delivery_time = '{$_POST['delivery_time']}' WHERE $delivery_building = '{$_POST['delivery_building']}' AND $delivery_room = '{$_POST['delivery_room']}'";

注意:若字段名不包含$,请从查询中的字段名中删除$。例如,“交货日期”应为“交货日期”


建议:应该使用绑定参数将值传递给查询,而不是使用字符串连接进行构建。它有助于防止SQL注入以及代码外观良好。

可能重复的解析错误:语法错误、意外的“”、预期标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)您不能在双引号内使用双引号而不转义。此外,在mySQL查询中,您必须用单引号包装字符串数据。
SET$delivery\u date='{$\u POST['delivery\u date']}“,
等…感谢@fusion3k。现在它说我在代码的这一部分中的SQL语法有一个错误。“delivery\u time=WHERE delivery\u building=AND delivery\u room=”感谢您的建议,现在它说…您的SQL语法有一个错误;请查看与您的MariaDB服务器版本对应的手册,以获取正确的语法第1行的“delivery\u time=WHERE delivery\u building=AND delivery\u room=”。我这句话的这部分有什么问题?您一定没有为字符串和日期类型字段添加引号。您尝试了哪种查询?$sql\u query=“UPDATE pack\u details SET delivery\u date=$\u POST[delivery\u date],delivery\u time=$\u POST[delivery\u time]其中配送大楼=$邮政[配送大楼]和配送房间=$邮政[配送房间],“尝试$sql\u query=“更新包裹详细信息设置$delivery\u日期=”,$邮政[“配送日期”],$配送时间=”,$邮政[“配送时间”]。“其中$delivery\u大楼=”,$邮政[“delivery\u大楼”.”和$delivery\u房间=“,$delivery\u邮政[“配送房间”。”";这同样适用于$sql\u query=“更新包详细信息集$delivery\u date=”$\u POST[\\“delivery\u date\”],$delivery\u time=”$\u POST[\\\“delivery\u time\”],$delivery\u building=“$”和$delivery\u room=“$\u POST[\\“delivery\u room\””;
 $sql_query = "UPDATE pack_details SET delivery_date = '".$_POST["delivery_date"]."', delivery_time = '".$_POST["delivery_time"]."' WHERE delivery_building = '".$_POST["delivery_building"]."' AND delivery_room = '".$_POST["delivery_room"]."'";