php fetch如何只取一行记录,php – mysqli fetch数组只显示第一行

我写了这段代码:

require("config.php");

$rows = array();

$query = "SELECT accountname, bill_city, bill_code, bill_country, bill_street, latitude, longitude, setype FROM vtiger_accountbillads, vtiger_account, vtiger_geocoding WHERE accountaddressid = accountid AND accountid = crmid";

$result = mysqli_query($connection, $query);

$rows_number = $result->num_rows;

echo $rows_number . "
";

$row = mysqli_fetch_array($result);

if($result->num_rows > 0){

for($i=0; $i < $rows_number; $i++) {

$rows[] = array("name" => $row[0],

"city" => $row[1],

"code" => $row[2],

"country" => $row[3],

"street" => $row[4],

"latitude" => $row[5],

"longitude" => $row[6],

"type" => $row[7]);

}

}

$json = json_encode($rows);

print $json;

mysqli_free_result($row);

mysqli_close($connection);

我正在尝试使用上面代码中编写的查询来获取多个数据,但它显示第一行47次.为什么?我究竟做错了什么?谢谢!

解决方法:

您需要遍历MySQL返回的结果集.这意味着为该结果集的每一行调用mysqli_fetch_array().您可以使用while循环执行此操作:

while($row = mysqli_fetch_assoc($result)) {

$rows[] = array("name" => $row['name'],

"city" => $row['bill_city'],

"code" => $row['bill_code'],

"country" => $row['bill_country'],

"street" => $row['bill_street'],

"latitude" => $row['latitude'],

"longitude" => $row['longitude'],

"type" => $row['setype']);

}

}

标签:php,mysqli

来源: https://codeday.me/bug/20191003/1848752.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值