У меня написана функция, которая выполняет запрос на основе параметров, переданных в функцию.
Я не могу понять, почему выполнение следующего возвращает результат:
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». Разве они не должны давать одинаковые результаты?
Когда я повторяю значения $ variable и $ 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.
Любая помощь будет оценена.