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;”会发生什么