У меня есть следующие функции:удается получить мое подготовленное заявление на работу
function get_config($name = '')
{
$config = array();
$row = array();
$sql = "SELECT * FROM ".$GLOBALS['prefix']."config ";
if ('' != $name) {$sql .= " WHERE name = '". $name ."'";}
$result = $GLOBALS['conn']->query($sql);
while ($row = $result->fetch()) {$config[$row['name']] = $row['value'];}
if ('' != $name){return $config[$name];}
}
Я использую это называть все мои настройки сайта. Я хотел использовать для этого подготовленные заявления.
Вот что я сделал, когда я добавил заявление подготовить:
function get_config($name = '')
{
$config = array();
$row = array();
$sql = "SELECT * FROM config";
if ('' != $name) {
$sql .= " WHERE name = 'home'";
}
$result = $GLOBALS['conn']->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$result->execute(array(':name' => $name));
while ($row = $result->fetch()) {
$config[$row['name']] = $row['value'];
}
if ('' != $name) {
return $config[$name];
}
}
Но теперь эта функция не работает. почему не работает?
Возможный дубликат [подготовленных инструкций PHP PDO] (http://stackoverflow.com/questions/1457131/php-pdo-prepared-statements) – mario
Если вы используете это для хранилища конфигурации с плоскими ключами: значение может иметь смысл извлекать все записи одновременно и сохранять их в массиве. – mario
@mario, что еще я могу сделать, кроме этого? потому что это то, что я действительно пытаюсь сделать, если есть лучший способ, расскажите мне об этом. – shnisaka