Php 简单mysql查询不起作用

Php 简单mysql查询不起作用,php,mysql,sql,Php,Mysql,Sql,我有一个非常简单的函数: function getCatName($id){ $sql = "SELECT * FROM biznet_category WHERE ID ='".$id."';"; $res = mysql_query ($sql) or die (mysql_error ()); $row = mysql_fetch_assoc ($res); $name = $row["Name"]; return $name; } 因此,使用这个函数,我应该能够获得类别名称,但它不适用

我有一个非常简单的函数:

function getCatName($id){
$sql = "SELECT * FROM biznet_category WHERE ID ='".$id."';";
$res = mysql_query ($sql) or die (mysql_error ());
$row = mysql_fetch_assoc ($res);
$name = $row["Name"];
return $name;
}
因此,使用这个函数,我应该能够获得类别名称,但它不适用于参数。如果我输入8或9,则categoryname显示正确

id也像应该的那样传递,当我打印出来时,它显示8或9

我知道解决办法很简单,但我看不出来

$sql = "SELECT * FROM biznet_category WHERE ID ='".$id."';";

试试这个

$sql = "SELECT * FROM biznet_category WHERE ID = ".$id;

若要修复此问题,请删除引号并检查列名中的案例id或id。由于查询字符串位于双引号中,因此不必使用。加入

$sql = "SELECT * FROM biznet_category WHERE ID = $id";
你可以用我觉得更容易理解的花括号

$sql = "SELECT * FROM biznet_category WHERE ID = {$id}";
如果查询的是字符串而不是整数,则只需执行以下操作

$sql = "SELECT * FROM biznet_category WHERE ID = '{$id}'";

列名ID是否拼写正确?

如果ID为int,则不必加引号。你的桌子上还有名字吗?还是名字?。。。另外,请阅读有关integer类型的SQL injectionis ID的信息?如果是这样,您可以尝试删除
'
WHERE ID=“.ID.”
它的名称,当我删除单引号时,我会得到以下错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,在第1行$sql=“SELECT*FROM biznet_category,其中ID=”$ID')的“”附近使用正确的语法;
$sql = "SELECT * FROM biznet_category WHERE ID = '{$id}'";