我有一个名为“settings”的数据库表,在该表中我有2列。示例图片:
如您所见,第一列称为“ setting_name ”,第二列称为“ setting_value ”。
我该怎么做,所以每当我写下例子时:
echo $setting['ad_cost_micro'];
它会打印出来:
0.00200
顺便说一下。没有 while 声明可以吗?
答案 0 :(得分:1)
我倾向于使用PDO和fetchAll()
。
$stmt = $db->prepare('SELECT `setting_name`, `setting_value` FROM `settings`');
$stmt->execute();
$setting = $stmt->fetchAll();
echo $settings['ad_cost_micro']; //Should output 0.00200.
注意:无论你使用什么, a while循环是不可避免的因为你必须循环遍历结果集(fetchAll()
)也这样做,同时,知道每个循环都是一个while循环(即使是循环!)。
答案 1 :(得分:1)
如果mysqli可用......
$mysqli = new mysqli(hostname, username, password, database);
$result = $mysqli->query('SELECT setting_name,setting_value FROM settings');
if ($result->num_rows > 0)
{
$rows = $result->fetch_array();
$setting = array();
for($i = 0; $i <= $result->num_rows(); $i++)
{
$setting[$rows[$i]['setting_name']] = $row[$i]['setting_value'];
}
unset($rows);
$result->free();
}
else
{
// error handling
}
$mysqli->close();
编辑:删除而代替
答案 2 :(得分:0)
无法看到截图,但也许......
$query = mysql_query("SELECT * FROM settings");
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
$setting[$row['setting_name']] = $row['setting_value'];
}