Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 - Fatal编程技术网

在php中通过表单更新mysql数据库

在php中通过表单更新mysql数据库,php,mysql,Php,Mysql,我得到了这个错误 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“地址='xxxxx',城市='SSS',pincode='333333',state='Assam',count'附近使用的正确语法 提前谢谢 您的WHERE子句是错误的,您没有编写其中a=1、b=2、c=3您想要其中a=1、b=2和c=3 此外,您的逻辑是有缺陷的,因为WHERE子句通常更像WHERE id=x(在您更新表中的一行时,其中的行数据已经与您要更新的行数据相同-如果有意义的话?:)

我得到了这个错误

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“地址='xxxxx',城市='SSS',pincode='333333',state='Assam',count'附近使用的正确语法

提前谢谢


您的WHERE子句是错误的,您没有编写
其中a=1、b=2、c=3
您想要
其中a=1、b=2和c=3

此外,您的逻辑是有缺陷的,因为WHERE子句通常更像WHERE id=x(在您更新表中的一行时,其中的行数据已经与您要更新的行数据相同-如果有意义的话?:)


此外,要学会正确地转义sql字符串,否则就会使自己容易受到WHERE子句错误的攻击,您不需要编写
其中a=1、b=2、c=3
您想要的
其中a=1、b=2和c=3

此外,您的逻辑是有缺陷的,因为WHERE子句通常更像WHERE id=x(在您更新表中的一行时,其中的行数据已经与您要更新的行数据相同-如果有意义的话?:)


此外,要学会正确地转义sql字符串,否则会使自己容易受到oedo解释的问题的影响,也会遇到严重的sql注入问题。您需要使用
mysql\u real\u escape\u string
对字符串进行编码,以便插入到SQL语句中,nothtmlspecialchars。或者使用参数化查询


htmlspecialchars()
用于在将文本输出到HTML页面之前对其进行HTML编码。您不应该对存储在数据库中的字符串进行HTML编码。

除了oedo解释的问题外,您还遇到了严重的SQL注入问题。您需要使用
mysql\u real\u escape\u string
对字符串进行编码,以便插入到SQL语句中,nothtmlspecialchars。或者使用参数化查询


htmlspecialchars()
用于在将文本输出到HTML页面之前对其进行HTML编码。您不应该对存储在数据库中的字符串进行HTML编码。

首先,您的用户没有某种唯一的标识符吗?也许是某种客户id?您可以使用它在WHERE子句中标识客户,以使SQL更加清晰


第二,您是否希望您的用户像在数据库中一样编写所有公司?因为这正是您当前设计对他们的期望。

首先,您的用户没有某种唯一的标识符吗?也许是某种客户id?您可以使用它在WHERE子句中标识客户,以使SQL更加清晰


第二,您是否希望您的用户像在数据库中一样编写所有公司?因为这正是您当前设计中对它们的期望。

您需要使用ID而不是字段值来标识记录。如果你浏览很多网站,通常他们会发送ID来识别记录。比如edit.php?id=1284,或者view.php?id=1284,等等

简言之,您将有一个表单,可以用数据库中该记录ID的值填充该表单。如果编辑该表单,您将编写一个编辑查询,如下所示:

$UpdateQuery = "UPDATE customer SET name = '" . $name . "', address = '" . $address . "' ....... WHERE id = " . intval($_GET['id']);

我添加intval的原因是,它只允许数值通过。正如bobince所说,注意SQL注入,让mysql\u real\u escape\u字符串也通过您在查询中输入的所有字符串值。

您需要使用ID而不是字段值来标识记录。如果你浏览很多网站,通常他们会发送ID来识别记录。比如edit.php?id=1284,或者view.php?id=1284,等等

简言之,您将有一个表单,可以用数据库中该记录ID的值填充该表单。如果编辑该表单,您将编写一个编辑查询,如下所示:

$UpdateQuery = "UPDATE customer SET name = '" . $name . "', address = '" . $address . "' ....... WHERE id = " . intval($_GET['id']);

我添加intval的原因是,它只允许数值通过。正如bobince所说,注意SQL注入,让mysql\u real\u escape\u字符串也通过您在查询中输入的所有字符串值。

我有3个db。在第二个db中,我有cus id。我有11个字段的形式,您会看到。在,如果我改变11个值,它应该得到更新。Thnx用于帮助。Plz crt我的源代码。我有3 db。在第二db中,我有cus id。我有11个fiels的形式,你会看到。在中,如果我改变11个值,它应该得到更新。Thnx用于帮助。Plz crt我的源代码。