如何获取列数据并根据数组数据设置变量


How can I get the column data and set variables based on the array data

我在将下面的代码转换为PDO:时遇到问题

//Retrieve settings
$stmt = $db->prepare("SELECT id, name, value
FROM ".$db_table_prefix."configuration");   
$stmt->execute();
while ($stmt->fetch()) {
    $settings[$name] = array('id' => $id, 'name' => $name, 'value' => $value);
}

好的,我已经做了一些研究,但我完全迷路了,我希望有人能帮助我。不过我想我已经接近了。以下是我正在尝试的:

//Retrieve settings
$stmt = $db->prepare("SELECT id, name, value
FROM ".$db_table_prefix."configuration");   
$stmt->execute();
/* Bind by column name */
$stmt->bindColumn('id', $id);
$stmt->bindColumn('name', $names);
$stmt->bindColumn('value', $value);
while ($stmt->fetch(PDO::FETCH_BOUND)) {
    $settings[$name] = array('id' => $id, 'name' => $name, 'value' => $value);
}
//Set Settings
$emailActivation = $settings['activation']['value'];
$mail_templates_dir = "models/mail-templates/";
$websiteName = $settings['website_name']['value'];
$websiteUrl = $settings['website_url']['value'];
$emailAddress = $settings['email']['value'];
$resend_activation_threshold = $settings['resend_activation_threshold']['value'];
$emailDate = date('dmy');
$language = $settings['language']['value'];
$template = $settings['template']['value'];

我要做的是用数据库中的列数据设置变量。所以基本上有一个名称列和一个值列。

试试这个:

$stmt->execute();
$result = $stmt->fetchAll();
var_dump($result);
/*
while ($stmt->fetch()) {
    $settings[$name] = array('id' => $id, 'name' => $name, 'value' => $value);
}
*/