我已經寫了一個函數,它根據傳遞給函數的參數運行查詢。函數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],它們都是「你好世界」
這裏是我的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。
任何幫助,將不勝感激。
此代碼缺少調試。並要求陌生人精神上進行調試。我只是-1它,但不要僅僅爲了有一個* PDO包裝* - 在這個「發燒友程序員」網站上幾乎從未見過的東西 – 2012-03-23 05:11:23
對不起,我認爲這是足夠清楚:(我會編輯它更多一點 – noko 2012-03-23 05:14:44
爲什麼你傳遞查詢字符串作爲參考? – Phil 2012-03-23 05:18:09