php代码有什么问题?(mysql查询)

php代码有什么问题?(mysql查询),php,mysql,Php,Mysql,$tablename不需要单引号 此外,您可以这样做: SELECT * FROM $tablename WHERE email = '$setemail' 在每次查询后查看mysql错误。试试 if(mysql_errno()){ echo mysql_error(); exit; } 如果要转义表名,请使用“$tablename”而不是“$tablename”对表名使用反引号,而不是单引号 此外,您应该尝试从查询中获取更多错误信息 $tablename = "dev

$tablename
不需要单引号

此外,您可以这样做:

SELECT * FROM $tablename WHERE email = '$setemail'
在每次查询后查看mysql错误。

试试

if(mysql_errno()){
     echo mysql_error();
     exit;
}

如果要转义表名,请使用“$tablename”而不是“$tablename”

对表名使用反引号,而不是单引号

此外,您应该尝试从查询中获取更多错误信息

 $tablename = "developers";
    $errormsg = '';

    if(!empty($_GET['kind']) && $_GET['kind'] == "user") 
    { 
        $tablename = "appusers"; 
    } 


   if(isset($_POST['setemail'])){

   $setemail = $_POST['setemail'];

   $sql = mysql_query("SELECT * FROM $tablename WHERE email = '$setemail'");
   if(mysql_num_rows($sql) > 0)
     {
     $errormsg = "good";
      }
        else
        {
          $errormsg = "not valid";
        }
    }

使用:
mysql\u查询(“选择…”)或die(mysql\u错误())
如果您遇到问题,它将为您提供一些信息。您确定您的数据库中是否有一行电子邮件值为exaclty,如
$\u POST['setemail']
?最后一件事:别忘了对POST变量进行安全化:-)
如果($kind==user)
是否将
user
定义为常量?。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,。你也可以通过
$setemail=mysql\u real\u escape\u字符串($\u POST['setemail'])来保护自己一点 $tablename = "developers";
    $errormsg = '';

    if(!empty($_GET['kind']) && $_GET['kind'] == "user") 
    { 
        $tablename = "appusers"; 
    } 


   if(isset($_POST['setemail'])){

   $setemail = $_POST['setemail'];

   $sql = mysql_query("SELECT * FROM $tablename WHERE email = '$setemail'");
   if(mysql_num_rows($sql) > 0)
     {
     $errormsg = "good";
      }
        else
        {
          $errormsg = "not valid";
        }
    }
$sql = mysql_query("SELECT * FROM `$tablename` WHERE email = '$setemail'");
if(mysql_num_rows($sql) > 0)
{
    $errormsg = "good";
}
else
{
    if ($sql)
        $errormsg = "not valid";
    else
        $errormsg = mysql_error();
}