Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP While Foreach的MySQL密钥_Php_Mysql_Foreach_While Loop - Fatal编程技术网

PHP While Foreach的MySQL密钥

PHP While Foreach的MySQL密钥,php,mysql,foreach,while-loop,Php,Mysql,Foreach,While Loop,到处搜索,找不到答案,所以我想是时候发布了。我目前有一个供应商表。我想使用每个供应商的“skuid”值循环每个供应商,因为它是唯一的,然后从该行回显其他信息。这是我到目前为止所拥有的 $mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME); if ($mysqli->connect_errno) { echo "<p>MySQL error no {$mysqli->connect_errno} :

到处搜索,找不到答案,所以我想是时候发布了。我目前有一个供应商表。我想使用每个供应商的“skuid”值循环每个供应商,因为它是唯一的,然后从该行回显其他信息。这是我到目前为止所拥有的

$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if ($mysqli->connect_errno) {
    echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
    exit();
}

$vendorQuery = "SELECT skuid FROM vendors";
$vendorResult = mysqli_query($mysqli, $vendorQuery);

while($row = mysqli_fetch_assoc($vendorResult)) {
    foreach($row['skuid'] as $vendorid) {
        echo $row['skuid'];
    }
} ?>
$mysqli=newmysqli($DB\u HOST、$DB\u USER、$DB\u PASS、$DB\u NAME);
如果($mysqli->connect\u errno){
echo“MySQL错误号{$mysqli->connect_errno}:{$mysqli->connect_error}

”; 退出(); } $vendorQuery=“从供应商中选择skuid”; $vendorResult=mysqli_query($mysqli$vendorrquery); 而($row=mysqli\u fetch\u assoc($vendorResult)){ foreach($vendorid'行作为$vendorid){ echo$row['skuid']; } } ?>
您不需要为每个人使用
这个
,您的外部循环就足够了

while($row = mysqli_fetch_assoc($vendorResult)) {
        echo $row['skuid'];
}
而且单个mysql查询不会返回嵌套级别的数据,因此在这种情况下,嵌套循环不会有任何好的用例

当此循环运行时,每行始终只有1个
skuid
。这里没有其他嵌套循环的用处

现在,如果您想从这个查询中创建一个供应商数组,然后循环使用它,这是一个很好的用例。比如说

while($row = mysqli_fetch_assoc($vendorResult)) {
        $skuid=$row['skuid'];
        $name=$row['name'];
        $vendors[$skuid]=array('name'=>$name); // and other fields
}
foreach($vendors as $vendor){
        echo $vendor['name'];
}

$row['skuid']
不是数组。知道为什么“$mysqli=newmysqli($DB\u主机,$DB\u用户,$DB\u通行,$DB\u名称);如果($mysqli->connect_errno){echo“MySQL错误号{$mysqli->connect_errno}:{$mysqli->connect_error}

“exit();}$vendorQuery=”从供应商选择*”;$vendorResult=mysqli_query($mysqli$vendorrquery);而($row=mysqli_fetch_assoc($vendorResult)){echo$row['first_name'];}?>`返回mysqli_fetch_assoc()期望参数1是mysqli_结果,给定布尔值