0

我对这个问题感到非常沮丧。我正在尝试做一个简单的查询,但它不起作用。这非常简单。我通过帖子发送了一个输入,并且我已经对其进行了测试。post 变量正在机智地到达。唯一的问题是,当我回显“$row['id']”时,每次都会将一个空白变量传递回我的 html 函数。当我在我的 html 文件中取回数据时,我创建了一个警报,它每次都会闪烁一个空白警报。在到达此代码之前,如果 $row 为空并且当我预期它为空时,我将文件回显为“未找到”。当它不为空时,我不能使用存储在关联数组中的变量。是的,“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'];
}

?>

4

3 回答 3

0

尝试先打印 $row 变量

print_r($row);

如果它只打印“array()”,那么查询可能已经失败,你可以尝试回显它以查看是否有任何错误。

为了回答这个问题,mysql_fetch_array 返回一个与获取的行相对应的数组,并将内部数据指针向前移动。

参考: http: //php.net/manual/en/function.mysql-fetch-array.php

ps:我认为这应该去评论部分,但由于我没有足够的声誉,对不起:(

于 2013-08-22T05:01:24.923 回答
0

试试这个,虽然它和以前一样,但可以试一试

while ($row = mysql_fetch_assoc($result))
{
 echo $row['id'];
}
于 2013-08-22T05:05:04.160 回答
0

您正在使用mysqli查询 -

$result = mysqli_query($con, ....);

但是尝试使用mysql(不是mysqli) fetch

while ($row = mysql_fetch_array($result))

尝试将其更改为mysqli_fetch_array

while ($row = mysqli_fetch_array($result))
{
  echo $row['id'];
}

意外混淆mysqlmysqli功能是很常见的

于 2013-08-22T05:35:04.490 回答