У меня есть функция, написанная, которая запускает запрос на основе параметров, переданных функции.PHP PDO Параметры из функции возвращенного массива
Я не могу показаться, чтобы выяснить, почему делать следующее возвращает результат:
function test($function_returned_array)
{
$variable = 'Hello World';
$sql = 'SELECT `name`, `pid`
FROM `products`
WHERE `name` IN (?)';
$found = $this->db->get_array($sql, $variable);
}
Хотя это и не возвращает никаких результатов:
function test2($function_returned_array)
{
$sql = 'SELECT `name`, `pid`
FROM `products`
WHERE `name` IN (?)';
$found = $this->db->get_array($sql, $function_returned_array[0]);
}
$ function_returned_array [0] также равный «Hello World». Разве они не должны возвращать те же результаты?
Когда эхо значения переменной $ и $ function_returned_array [0], они оба 'Hello World'
Вот соответствующие части моего PDO обертке:
public function query(&$query, $params)
{
$sth = $this->_db->prepare($query);
if(is_null($params))
{
$sth->execute();
}
else if(is_array($params))
{
$sth->execute($params);
}
else
{
$sth->execute(array($params));
}
$this->_rows = $sth->rowCount();
$this->_counter++;
return $sth;
}
public function get_array(&$query, $params, $style = PDO::FETCH_ASSOC)
{
$q = $this->query($query, $params);
return $q->fetchAll($style);
}
Я использую PHP 5.3.5.
Любая помощь будет оценена по достоинству.
этот код не хватает отладка. И просит незнакомых людей отталкивать его мысленно. Я бы это сделал, но воздержался от этого только ради наличия * PDO-обертки * - вещь, которую почти никогда не видели на этом сайте «энтузиастов-программистов» –
Простите, я подумал, что это достаточно ясно :(Я отредактирую это немного больше. – noko
Почему вы передаете строку запроса в качестве ссылки? – Phil