<?php
include"config.php";
session_start();
$kind = $_GET['kind'];
$errormsg = '';
if($kind == user)
{ $tablename = "appusers"; }
else
{ $tablename = "developers"; }
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";
}
}
?>
总是无效的。
SELECT * FROM $tablename WHERE email = '$setemail'
$tablename
不需要单引号
也可以这样做:
if(mysql_errno()){
echo mysql_error();
exit;
}
每次查询后查看mysql错误
如果要转义表名,请使用'$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";
}
}
表名使用反引号,不能使用单引号
同时,你应该尝试从你的查询中获得更多的错误信息。
$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();
}