将SQL查询分解为PHP变量

将SQL查询分解为PHP变量,php,html,mysql,arrays,Php,Html,Mysql,Arrays,在过去的几周里,我开始使用PHP,目前我正在建立一个网站,搜索不同商店的酒类产品表 在PHP中,有没有一种方法可以将结果分解为单个变量?例如,如果我在一个查询中询问一个商店的所有详细信息,我可以将结果分成$storename、$storelocation等吗?最简单的方法是这样: 首先连接数据库并进行查询:- $db = mysqli($host, $user, $password, $database); $query = $db->query("SELECT * FROM `alco

在过去的几周里,我开始使用PHP,目前我正在建立一个网站,搜索不同商店的酒类产品表


在PHP中,有没有一种方法可以将结果分解为单个变量?例如,如果我在一个查询中询问一个商店的所有详细信息,我可以将结果分成$storename、$storelocation等吗?

最简单的方法是这样:

首先连接数据库并进行查询:-

$db = mysqli($host, $user, $password, $database);

$query = $db->query("SELECT * FROM `alcohol_products` WHERE `product_name` = '".$query_string."'");
然后检查返回的行数,并将结果循环到数组中,如下所示:-

if ($query->num_rows = 0) {
    echo 'Sorry, no results where found.';
} else {
    while ($row = $query->fetch_assoc()) {
        $storename[] = $row['storename'];
        $storelocation[] = $row['storelocation'];
    }

    for ($i = 0; $ < count($storename); $i++) {
        echo $storename.' - '.$storelocation.' <br />';
    }
}
我们的数据库将返回结果并以以下格式列出:

沃尔玛-芝加哥 沃尔玛-纽约

像那样

不过,因为你展示了所有商店的产品。您可能希望将数组存储在“storename”和“storelocation”中,这是存储其数据最简单的方法。

是的,您可以这样做:-

在循环外定义要用作数组变量的变量

在循环中指定值时使用它们

检查以下内容:-

$name_of_store = Array();
$location_of_store = Array();
 while ($row = mysqli_fetch_assoc($result)) {
        $name_of_store[] = $row['name_of_store']; // suppose your column name is name_of_store        
        $location_of_store[] = $row['location_of_store'];// suppose your column name is location_of_store        
    }

现在您可以任意使用这两个变量。谢谢。

为什么需要它们作为这些变量名?当您从数据库获得结果时,您可以引用它们,例如print$result[0]['fieldName']。。。或者在循环中,foreach$result作为$row{print$row['fieldName'];}