我已经用这个问题绞尽脑汁待了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查询详细信息只是一个不真实的虚拟帐户。
答案 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
一样简单。