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

Php Mysql查询似乎正在工作,但仍然出现错误?

Php Mysql查询似乎正在工作,但仍然出现错误?,php,mysql,arrays,where,Php,Mysql,Arrays,Where,我正在运行以下程序,它似乎正在从数组中提取数据,因为错误包含我查询的所有数据,因此我不确定为什么会出现错误: <?php $user = $_POST[cf_id]; $form = $_POST[uid]; $date = date("d-m-Y"); $query = mysql_query("UPDATE hqfjt_chronoforms_data_addupdatelead SET '".$form."' = '".$date."' WHERE cf_id = '".$user

我正在运行以下程序,它似乎正在从数组中提取数据,因为错误包含我查询的所有数据,因此我不确定为什么会出现错误:

<?php
$user = $_POST[cf_id];
$form = $_POST[uid];
$date = date("d-m-Y"); 
$query = mysql_query("UPDATE hqfjt_chronoforms_data_addupdatelead SET '".$form."' = '".$date."' WHERE cf_id = '".$user."' ")
or die(mysql_error());
?>

$10表示字符串中有一个撇号,没有费心转义它,使自己容易受到SQL注入攻击。

$10表示字符串中有一个撇号,没有费心转义它,使自己容易受到SQL注入攻击。

如果“
$form
`是一列,请不要使用引号(')而是口音(`)。(所以把它设为“
$form
”)

如果“
$form
”是一列,不要使用引号('),而是使用重音符号(`)。(让它成为`
$form
`)

试试这个:
mysql\u real\u escape\u string

<?php
$user = mysql_real_escape_string($_POST[cf_id]);
$form = mysql_real_escape_string($_POST[uid]);
$date = mysql_real_escape_string(date("d-m-Y")); 
$query = mysql_query("UPDATE hqfjt_chronoforms_data_addupdatelead SET '".$form."' = '".$date."' WHERE cf_id = '".$user."' ")
or die(mysql_error());
?>

试试这个:
mysql\u real\u escape\u string

<?php
$user = mysql_real_escape_string($_POST[cf_id]);
$form = mysql_real_escape_string($_POST[uid]);
$date = mysql_real_escape_string(date("d-m-Y")); 
$query = mysql_query("UPDATE hqfjt_chronoforms_data_addupdatelead SET '".$form."' = '".$date."' WHERE cf_id = '".$user."' ")
or die(mysql_error());
?>

这里的问题是,您所调用的$form被用作列名。因为您是从名为UID的post参数填充它,所以我假设这是不正确的。您可能想要的是更大致的:

"UPDATE hqfjt_chronoforms_data_addupdatelead SET `date` = '".$date."' WHERE cf_id = '".$user."' and `uid` = " . $form;

我确信这并不准确,但使用UID作为列名是没有任何意义的。

这里的问题是,您所称的$form正被用作列名。因为您是从名为UID的post参数填充它,所以我假设这是不正确的。您可能想要的是更大致的:

"UPDATE hqfjt_chronoforms_data_addupdatelead SET `date` = '".$date."' WHERE cf_id = '".$user."' and `uid` = " . $form;

我确信这不准确,但使用UID作为列名毫无意义。

仅供参考:通常在编程情况下,它们被称为反勾号,而不是严重的重音符号。这是否也适用于$user,因为它也是一列,它等于列cf_idNo,$user不是列,而是该特定行的列的值`虽然cf_id`是一列。仅供参考:通常在编程情况下,它们被称为反勾号而不是严重的重音符号。这是否也适用于$user?因为它也是一列,它等于列cf_id No,$user不是一列,而是该特定行的列的值`不过,cf_id`是一列。请将您的查询发布到plz,以便我们可以检查错误。对不起,关于英文,你能提供一个运行查询的代码片段,或者查询是在哪里构造的吗?你能发布hqfjt_chronoforms_data_addupdatelead的表结构吗?嗨,查询来自chronoform,它会发布到我的数据库,然后在提交代码中,当发送表单时,我会记录上面的代码,你真的需要调查准备好的陈述。这是一个非常危险的代码片段。如果你不相信我,试着弄清楚如果有人发布了一个值“”;DROP TABLE hqfjt_chronoforms_data_addupdatelead;“post your query plz,这样我们就可以检查错误了。对不起,关于英文,你能提供一个运行查询的代码片段,或者查询是在哪里构造的吗?你能发布hqfjt_chronoforms_data_addupdatelead的表结构吗?嗨,查询来自chronoform,它会发布到我的数据库,然后在提交代码中,当发送表单时,我会记录上面的代码,你真的需要调查准备好的陈述。这是一个非常危险的代码片段。如果你不相信我,试着弄清楚如果有人发布了一个值“';DROP TABLE hqfjt_chronoforms_data_addupdatelead;”会发生什么