嘿,我正在开展一个小项目,但我似乎遇到了代码中特定部分的问题。
第一部分工作精美,并在产品类别中展示产品。 http://mkiddr.com/phptests/shopping/category.php?id=2
然而,问题似乎是要显示类别描述,这是从单独的查询派生到自己的数组中。我用过
echo(mysqli_num_rows($result2));
这似乎从查询中计算了正确的行数,表明SQL运行正常。
我很感激这方面的帮助我是一个完全需要的人,我已修补并编辑了这个代码以满足我的需求(由大学提供)。 P.S我知道安全性存在漏洞。
<?php
session_start();
include "conn.php";
include "header.php";
if (isset($_GET['id'])){
$CategoryID = $_GET['id'];
$q="SELECT ProductID, ProductName FROM Products WHERE CategoryID=$CategoryID";
$d="SELECT `Desc` FROM ProductCategories WHERE CategoryID=$CategoryID";
$result = mysqli_query($_SESSION['conn'],$q);
$result2 = mysqli_query($_SESSION['conn'],$d) or die(mysql_error());
echo "<div>";
while ($row = mysqli_fetch_row($result)){
echo "<p><a href='product.php?id=".$row[0]."'>".$row[1]."</a></p>";
}
echo "</div>";
mysqli_free_result($result);
//Description
echo(mysqli_num_rows($result2)); //Test SQL
echo "<div>";
while ($myResult = mysqli_fetch_assoc($result2)){
echo "<p>".$myResult[0]."</p>";
}
echo "</div>";
}
include "footer.php";
?>
答案 0 :(得分:4)
你错了:
while ($myResult = mysqli_fetch_assoc($result2)){
^^^^^--- produces a non-numerically keyed array
你可能想要
echo $myResult['name_of_field']
或
mysqli_fetch_row($result2)
^^^--returns a numerically keyed array.
代替。