使用PHP从MySQL查询中显示的结果

时间:2014-01-14 10:46:54

标签: php mysql sql loops mysqli

我已经用这个问题绞尽脑汁待了2-3天,所以一双新鲜的眼睛会受到赞赏。

我正在查询我的数据库以获取特定的结果集。

代码

<?php

$_POST['custid'];
$db=mysqli_connect("***","***","***","***");
// Check connection
if (mysqli_connect_errno($db))
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT DISTINCT duedate FROM invoicequote WHERE customeraccountnumber='1000001'";
echo $sql;

$result=mysqli_query($db,$sql) or die(mysqli_error($db));
if ($result)
{
    // Return the number of rows in result set
    $rowcount=mysqli_num_rows($result);
    printf("Result set has %d rows.\n",$rowcount);
    // Free result set
    mysqli_free_result($result);
}

while ($num = mysqli_fetch_array($result)) {
    echo $num;
    $duedate=$num['duedate'];
    echo $num['duedate'];
    print $num['duedate'];
    mysqli_free_result($result);
}

mysqli_close($db);

?>

echo sql给出

SELECT DISTINCT duedate FROM invoicequote WHERE     
customeraccountnumber='1000001'

打印行数

  

结果集有1行。

我知道PHP while循环,但我认为因为我一直在努力将其转换为函数我无法看到我做错了。

以上代码已单独运行到主页面代码,因为问题出在此部分。代码不是我已经剥离的功能,直接回到代码的简单骨头来找到错误。

删除了数据库详细信息。

SQL查询详细信息只是一个不真实的虚拟帐户。

3 个答案:

答案 0 :(得分:2)

// Free result set
mysqli_free_result($result);

希望您在代码中阅读此内容(两次)。

答案 1 :(得分:0)

mysqli_free_result()函数释放与结果相关联的内存。

你无法运行

while($num = mysqli_fetch_array($result)){
}

$result

答案 2 :(得分:0)

就像从mysqli_free_result($result);块中删除if一样简单。