Php 显示数据库中的数组
我有这个数据库Php 显示数据库中的数组,php,mysql,sql,arrays,pdo,Php,Mysql,Sql,Arrays,Pdo,我有这个数据库 id | domain | whois_server | --------------------------------------- 1 | ac | whois.nic.ac | 2 | ae | whois.nic.ae | 3 | id | whois.pandi.or.id | 如何显示没有id的数组 array ( 'ac' => 'whois
id | domain | whois_server |
---------------------------------------
1 | ac | whois.nic.ac |
2 | ae | whois.nic.ae |
3 | id | whois.pandi.or.id |
如何显示没有id的数组
array (
'ac' => 'whois.nic.ac',
'ae' => 'whois.nic.ae',
'id' => 'whois.pandi.or.id',
)
我已经完成了以下代码:
$sql = "SELECT * FROM whois_server ";
$result = $db->prepare($sql);
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$whoisservers = array_merge($whoisservers, array_map('trim', explode(",", $row[1])));
}
但似乎是:
array (
[0] => whois.nic.ac
[1] => whois.nic.ae
[2] => whois.pandi.or.id
)
在循环中,可以为每个值向
$whoisseervers
变量添加键:
$sql = "SELECT domain, whois_server FROM whois_server";
$result = $db->prepare($sql);
$result->execute();
$whoisservers = [];
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$whoisservers[$row['domain']] = $row['whois_server'];
}
print_r($whoisservers);
会更简单(更清晰)
如注释中所述,在SQL中不要选择不需要的字段。通过将索引按
$row['domain']
和值按$row['whois\u server']
添加到$whoisservers
数组中
$whoisservers = [];
$sql = "SELECT * FROM whois_server ";
$result = $db->prepare($sql);
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$whoisservers[$row['domain']] = $row['whois_server'];
}
print_r($whoisservers);
与使用
fetchAll
和PDO::FETCH_KEY_PAIR
的其他答案解决方案略有不同:
$sql = "SELECT domain, whois_server FROM whois_server";
$result = $db->prepare($sql);
$result->execute();
$whoisservers = $result->fetchAll(PDO::FETCH_KEY_PAIR);
print_r($whoisservers);
为什么不使用此查询
从whois\u服务器中选择域、whois\u服务器
?
$sql = "SELECT * FROM whois_server ";
$result = $db->prepare($sql);
$result->execute();
$dataReturn = [];
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$dataReturn[$row['domain']] = $row['whois_server'];
}
print_r($dataReturn);
$sql = "SELECT domain, whois_server FROM whois_server";
$result = $db->prepare($sql);
$result->execute();
$whoisservers = $result->fetchAll(PDO::FETCH_KEY_PAIR);
print_r($whoisservers);