有效的SQL命令不会在PHP中运行
我在PHPAdmin的终端中运行了以下代码:有效的SQL命令不会在PHP中运行,php,mysql,Php,Mysql,我在PHPAdmin的终端中运行了以下代码: SELECT COUNT( * ) FROM User WHERE email = 'ijp' 结果是0 然后,我的PHP程序的一部分如下所示: $email = clean_input($_POST['email']); $query = "SELECT COUNT(*) FROM user WHERE '.$email.'=email"; echo $query; $result = mysqli_query($link, $query);
SELECT COUNT( * )
FROM User
WHERE email = 'ijp'
结果是0
然后,我的PHP程序的一部分如下所示:
$email = clean_input($_POST['email']);
$query = "SELECT COUNT(*) FROM user WHERE '.$email.'=email";
echo $query;
$result = mysqli_query($link, $query);
echo $result;
mysqli_close($link);
我已经检查了我登录数据库是否正常。但产出仍在增长
SELECT COUNT(*) FROM User WHERE email='ijp'
Catchable fatal error: Object of class mysqli_result could not be converted to string in .../html/register.php on line 49
如何在PHP中运行MySQL命令 尝试使用
$query = "SELECT COUNT(*) FROM user WHERE email=\"".$email."\"";
试用
$query = "SELECT COUNT(*) FROM user WHERE email=\"".$email."\"";
您正在将$result资源传递给需要字符串的echo。您需要使用mysqli_fetch_*函数之一从$result读取值,然后打印它
mysqli_fetch已弃用,请使用mysqli_fetch_数组或mysql_fetch_assoc或mysql_fetch_all,例如:
$row = mysqli_fetch_array($result);
if($row) {
echo $row[0];
}
您正在将$result资源传递给需要字符串的echo。您需要使用mysqli_fetch_*函数之一从$result读取值,然后打印它
mysqli_fetch已弃用,请使用mysqli_fetch_数组或mysql_fetch_assoc或mysql_fetch_all,例如:
$row = mysqli_fetch_array($result);
if($row) {
echo $row[0];
}
如果$email的值为“ijp”,则$query的值在
会是
SELECT COUNT(*) FROM user WHERE ijp=email
使用“$email”而不是“$email”。如果$email的值为“ijp”,则$query的值在
会是
SELECT COUNT(*) FROM user WHERE ijp=email
使用“$email”而不是“$email”。以上所有答案都是正确的,但有一点是错误的。。。您需要区分一个名为User的表和一个名为User的表-它们在*NIX systems Linux等系统上区分大小写。。。您需要区分一个名为User的表和一个名为User的表-它们在*NIX systems Linux等系统上区分大小写,并且您确定您有电子邮件列确切包含ijp的行吗?我没有这样的行,但我只是想知道为什么它不会输出0?您可能希望回显mysqli_error$link;看到了吗。你确定你的电子邮件列中有几行确实包含ijp?我没有这些行,但我只是想知道为什么它不会输出0?你可能想回显mysqli_error$link;请参阅。$query=SELECT COUNT*FROM user,其中email='$email';echo$query$结果=mysqli_query$link$query;echo mysqli_获取$result;输出警告:mysqli_fetch期望参数1为mysqli_stmt,布尔值…$query=SELECT COUNT*FROM user,其中email='$email';echo$query$结果=mysqli_query$link$query;echo mysqli_获取$result;输出警告:mysqli_fetch期望参数1为mysqli_stmt,布尔值。。。