Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有效的SQL命令不会在PHP中运行_Php_Mysql - Fatal编程技术网

有效的SQL命令不会在PHP中运行

有效的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);

我在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);
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,布尔值。。。