gpt4 book ai didi

php - MySQL 不断返回一行,即使数据库中没有任何内容与查询匹配

转载 作者:行者123 更新时间:2023-11-30 01:36:44 27 4
gpt4 key购买 nike

即使数据库中没有任何内容,$query_check_homework 仍然失败。我确信这可能是非常简单的事情,比如语法错误,但我已经为此工作了一个多小时,但无法让它工作。您能否看一下代码,并告诉我为什么即使数据库中没有任何内容与查询匹配,它仍然不断返回一行。

这是代码。

/*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_check_homework 很可能仅包含指向结果集的指针,并且始终为“==1”或“true”,这仅仅是因为不为 false ,或 0。

相反,请考虑使用一个函数来计算查询返回的结果数:

http://php.net/manual/en/mysqli-result.num-rows.php

关于php - MySQL 不断返回一行,即使数据库中没有任何内容与查询匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16783044/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com