PHP&;MYSQLI为商店项目选择MySQL表


PHP & MYSQLI selecting MySQL Table for Shop Items

对于我的学校,我需要从MySQL Server中选择项目,它只应该显示名称和价格。

$sql = "SELECT `item`,`price` FROM `items` ";
$query = mysqli_query(con(), $sql); 
$row = mysqli_fetch_array($query);
foreach($row as $values)
{
    echo "<p>".$values["item"]."</p>";
    echo "<p>".$values["price"]."</p>";
}

我只得到了这样的东西:

L
L
L
L
4
4
4
4

它是表中唯一的第一项,但DB中有许多行。

你做得很好,但你做错的是,你只选择了一个项目,并在单个值上迭代

在这里,您只提取LLLL4444,并仅对此进行循环,因此,为了获得所有内容。

你需要这样做。

$sql = "SELECT `item`,`price` FROM `items` ";
$query = mysqli_query(con(), $sql);
while($row = mysqli_fetch_array($query))
{
    echo "<p>".$row["item"]."</p>";
    echo "<p>".$row["price"]."</p>";
}

试试这个:

$sql = "SELECT `item`,`price` FROM `items` ";
$query = mysqli_query(con(), $sql);
while ($row = mysqli_fetch_assoc($query)) {
    echo "<p>".$row["item"]."</p>";
    echo "<p>".$row["price"]."</p>";
}

mysql_fetch_array()本质上返回两个数组,一个带有数字索引,另一个带有关联字符串索引。

因此,在不指定MYSQL_ASSOCMYSQL_NUM的情况下使用mysql_fetch_array(),或通过指定MYSQL_BOTH,将返回两个数组