SQL、PHP更新查询错误
我有一些PHP代码,我正在尝试在MySQL表中插入或更新数据 插入查询有效,但更新查询无效。值在末尾正确打印SQL、PHP更新查询错误,php,mysql,Php,Mysql,我有一些PHP代码,我正在尝试在MySQL表中插入或更新数据 插入查询有效,但更新查询无效。值在末尾正确打印 <?php $nm=$_GET["nm"]; $reg=$_GET["regno"]; $con=mysql_connect("localhost","root","admin"); mysql_select_db("Q14",$con); // $res=mysql_query("insert into stdtable values('$nm','$re
<?php
$nm=$_GET["nm"];
$reg=$_GET["regno"];
$con=mysql_connect("localhost","root","admin");
mysql_select_db("Q14",$con);
// $res=mysql_query("insert into stdtable values('$nm','$reg')",$con);
$res=mysql_query("UPDATE stdtable SET `NAME`='$nm',`REG NO`='$reg' WHERE
'REG NO'='$reg'",$con);
echo "SUCCESS";
echo $nm.$reg;
?>
对于注册号
(在where子句中)必须使用反勾号而不是单引号。或者最好重命名该列,名称中不带空格:
$res=mysql_query("UPDATE stdtable SET `NAME`='$nm',`REG NO`='$reg' WHERE
`REG NO`='$reg'",$con);
不要再使用不推荐的mysql.*
API。在准备好的语句中使用mysqli.*
或PDO
。对于REG NO
(where子句中)必须使用反勾号而不是单引号。或者最好重命名该列,名称中不带空格:
$res=mysql_query("UPDATE stdtable SET `NAME`='$nm',`REG NO`='$reg' WHERE
`REG NO`='$reg'",$con);
不要再使用不推荐的mysql.*
API。在准备好的语句中使用mysqli.*
或PDO
。对于REG NO
(where子句中)必须使用反勾号而不是单引号。或者最好重命名该列,名称中不带空格:
$res=mysql_query("UPDATE stdtable SET `NAME`='$nm',`REG NO`='$reg' WHERE
`REG NO`='$reg'",$con);
不要再使用不推荐的mysql.*
API。在准备好的语句中使用mysqli.*
或PDO
。对于REG NO
(where子句中)必须使用反勾号而不是单引号。或者最好重命名该列,名称中不带空格:
$res=mysql_query("UPDATE stdtable SET `NAME`='$nm',`REG NO`='$reg' WHERE
`REG NO`='$reg'",$con);
不要再使用不推荐的mysql.*
API。在准备好的语句中使用mysqli.*
或PDO
。此处:
'REG NO'='$reg'",$con);
您已使用',但必须在此处使用“:
'REG NO'='$reg'",$con);
您已使用',但必须在此处使用“:
'REG NO'='$reg'",$con);
您已使用',但必须在此处使用“:
'REG NO'='$reg'",$con);
您已经使用了',但必须是`$res=mysql\u query(“更新stdtable SET NAME='$nm',REG NO='$REG',其中REG NO='$REG',$con”)代码>不要对列表使用反勾号…@ekojunidisalam对列名使用反勾号是可以的。不要再使用不推荐的mysql.*
API。对准备好的语句使用mysqli.*
或PDO
。那个更新查询毫无意义。。。您的查询基本上是更新stdtable中的每一行,其中REG NO等于变量$REG to REG NO=$REG。因此,您将一列更改为where子句所表示的相同变量。您基本上没有更改REG NO列。$res=mysql\u查询(“更新stdtable SET NAME='$nm',REG NO='$REG',其中REG NO='$REG',$con”)代码>不要对列表使用反勾号…@ekojunidisalam对列名使用反勾号是可以的。不要再使用不推荐的mysql.*
API。对准备好的语句使用mysqli.*
或PDO
。那个更新查询毫无意义。。。您的查询基本上是更新stdtable中的每一行,其中REG NO等于变量$REG to REG NO=$REG。因此,您将一列更改为where子句所表示的相同变量。您基本上没有更改REG NO列。$res=mysql\u查询(“更新stdtable SET NAME='$nm',REG NO='$REG',其中REG NO='$REG',$con”)代码>不要对列表使用反勾号…@ekojunidisalam对列名使用反勾号是可以的。不要再使用不推荐的mysql.*
API。对准备好的语句使用mysqli.*
或PDO
。那个更新查询毫无意义。。。您的查询基本上是更新stdtable中的每一行,其中REG NO等于变量$REG to REG NO=$REG。因此,您将一列更改为where子句所表示的相同变量。您基本上没有更改REG NO列。$res=mysql\u查询(“更新stdtable SET NAME='$nm',REG NO='$REG',其中REG NO='$REG',$con”)代码>不要对列表使用反勾号…@ekojunidisalam对列名使用反勾号是可以的。不要再使用不推荐的mysql.*
API。对准备好的语句使用mysqli.*
或PDO
。那个更新查询毫无意义。。。您的查询基本上是更新stdtable中的每一行,其中REG NO等于变量$REG to REG NO=$REG。因此,您将一列更改为where子句所表示的相同变量。您基本上没有更改REG NO列。