0

我正在尝试从我的表 SCstudents 中获得所有 11 年级的学生。

$students = mysqli_query($con, "SELECT * FROM SCstudents WHERE Grade='11'");

由于某种原因,上面的代码没有返回任何东西。我知道这一点,因为当我尝试运行循环时

mysqli_fetch_array($students)

没有任何迭代。

这可能是因为 11 是一个整数并且它像字符串一样在引号中吗?表 SCstudents 中大约有 3 个年级为 11 的学生。

4

3 回答 3

0

这可能是因为 11 是一个整数并且它像字符串一样在引号中吗?

不。

于 2013-07-16T14:33:27.223 回答
0

当我遇到这样的问题时,我手动运行查询。但你已经这样做了。

要检查表中是否没有任何空格,请执行此查询并检查是否得到任何结果。

SELECT * FROM SCstudents WHERE Grade LIKE '%11%'

如果您在 11 之前或之后有任何空格,这仍然应该给您结果,并且您知道您走在正确的轨道上。

于 2013-07-16T15:34:17.800 回答
0

这个特定的问题与查询无关。

从手册开始mysqli_query()

失败时返回 FALSE。对于成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,mysqli_query() 将返回一个 mysqli_result 对象。对于其他成功的查询,mysqli_query() 将返回 TRUE。

$students布尔值或 mysqli_result 对象也是如此,从不null

在下面的评论中,您陈述了null给出的问题,因此看起来$students变量 - 您使用它的位置 - 与您定义它的位置不同。

听起来像是变量范围问题,但其他可能性包括覆盖变量等。

于 2013-07-16T14:42:44.953 回答