SQL、PHP更新查询错误

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代码,我正在尝试在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','$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列。