Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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
Php MySQL保持返回一行,即使数据库中没有匹配查询的内容_Php_Mysql_If Statement - Fatal编程技术网

Php MySQL保持返回一行,即使数据库中没有匹配查询的内容

Php MySQL保持返回一行,即使数据库中没有匹配查询的内容,php,mysql,if-statement,Php,Mysql,If Statement,$query\u check\u作业一直失败,即使数据库中没有任何内容。我相信这可能是一个非常简单的语法错误,但我已经为此工作了一个多小时,无法让它工作。请你看一下代码,让我知道为什么它总是返回一行,即使数据库中没有与查询匹配的内容 这是代码 /*Check if homework name already exists*/ $query_check_homework = $this->db_connection->query(" SELECT homework.homew

$query\u check\u作业一直失败,即使数据库中没有任何内容。我相信这可能是一个非常简单的语法错误,但我已经为此工作了一个多小时,无法让它工作。请你看一下代码,让我知道为什么它总是返回一行,即使数据库中没有与查询匹配的内容

这是代码

/*Check if homework name already exists*/
$query_check_homework = $this->db_connection->query("
SELECT 
    homework.homework_name
FROM classes 
    INNER JOIN homework On classes.class_id = homework.class_id
WHERE 
    homework.class_id = '".$this->class_id."' And
homework.homework_name = '".$this->homework_name."' And
classes.user_id = '".$this->user_id."'");       

if ($query_check_homework == 1) {
    $this->errors[] = "Sorry, You already have homework in this class with that name. Please choose a different name.";
} 
else {
    /*write new homework into the datebase*/
    $query_new_homework = $this->db_connection->query("
    INSERT INTO homework (class_id, homework_name, avaliable_points, earned_points,     date) VALUES ('".$this->class_id."', '".$this->homework_name."', '".$this-  >avaliable_points."', '".$this->earned_points."', '".$this->homework_date."')");

根据您使用的数据库连接类的不同,$query\u check\u作业只包含一个指向结果集的指针,并且总是“==1”或“true”,只是因为不为false或0

取而代之,考虑使用一个函数来计算从查询返回的结果的数量:


谢谢。我忘了在末尾添加num_rows函数。它应该看起来像
$query\u check\u user\u name->num\u rows==1