我对这个问题感到非常沮丧。我试图做一个简单的查询,但它不起作用。它非常简单。我通过邮件发送了一个输入,我已经测试过了。后变量来得很巧妙。唯一的问题是,当我回显"$row['id']"时,每次都会将一个空白变量传回我的html函数。我创建了一个警报数据返回到我的html文件中,每次都会闪烁一个空白警报。在编写这段代码之前,如果$row为空,并且在我预期的时候为空,我会将文件echo设置为"未找到"。但是,当它不为空时,我不能使用存储在关联数组中的变量。是的,"id"绝对存在。我已经检查了数据库,只有一个"类"行需要测试。
<?php
$tempClass = $_POST["class"];
$tempClassArray = explode("=",$tempClass);
$class = $tempClassArray[1];
$con=mysqli_connect("localhost","root","*****","*******");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM classes WHERE className LIKE '%$class%' OR
classNumber LIKE '%$class%' OR section LIKE '%$class%'");
while ($row = mysql_fetch_array($result))
{
echo $row['id'];
}
?>
您使用的是mysqli
查询-
$result = mysqli_query($con, ....);
但是尝试使用mysql
(而不是mysqli
)获取
while ($row = mysql_fetch_array($result))
尝试将其更改为mysqli_fetch_array
while ($row = mysqli_fetch_array($result))
{
echo $row['id'];
}
意外地混淆mysql
和mysqli
函数
尝试首先打印$row变量
print_r($row);
如果它只打印"array()",那么查询可能已经失败,您也可以尝试回显它,看看是否有任何错误。
为了回答这个标题,mysql_fetch_array返回一个与提取的行相对应的数组,并将内部数据指针向前移动。
参考:http://php.net/manual/en/function.mysql-fetch-array.php
ps:我认为这应该进入评论部分,但由于我没有足够的声誉,对不起:(
尽管它的工作原理与以前相同,但可以尝试
while ($row = mysql_fetch_assoc($result))
{
echo $row['id'];
}