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