我正试图让我所有的学生从11年级的学生那里学习。
$students = mysqli_query($con, "SELECT * FROM SCstudents WHERE Grade='11'");
由于某种原因,上面的代码没有返回任何内容。我知道这是因为当我尝试使用
运行循环时mysqli_fetch_array($students)
没有任何迭代。
这可能是因为11是一个整数,它是一个像字符串一样的引号? SCstudents表中约有3名学生的成绩为11。
答案 0 :(得分:0)
这可能是因为11是一个整数,它是一个像字符串一样的引号吗?
没有
答案 1 :(得分:0)
此特定问题与查询无关。
来自mysqli_query()
上的手册:
失败时返回FALSE。成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于 其他成功的查询mysqli_query()将返回TRUE。
所以$students
是boolean或mysqli_result对象,而不是null
。
在下面的评论中,您指出null
已被给出,因此看起来$students
变量 - 您使用它的位置 - 与您定义它的位置不同。
听起来像是一个可变范围问题,但其他可能性包括覆盖变量等等。
答案 2 :(得分:0)
当我遇到这样的问题时,我手动运行查询。但是你已经这样做了。
要检查表中是否有任何空格,请执行此查询并检查是否有任何结果。
SELECT * FROM SCstudents WHERE Grade LIKE '%11%'
如果您在11之前或之后有任何空格,这仍应该给您结果,并且您知道自己走在了正确的轨道上。