我是PHP PDO的新手,並將某些常規MySQL查詢轉換爲與PDO一起工作。php pdo從多個表中選擇多個條款
以下查詢在phpMyAdmin中測試時效果很好,當分配的值替換SQL語句中的當前佔位符時。但是,當我將它配置爲與PDO一起工作時,它不會產生任何結果或錯誤。有人可以告訴我或告訴我,我做錯了什麼?
有人告訴我,我不能在數組中傳遞參數作爲引用。
如果正確,創建解決方案的最佳方式是什麼,並且只使用傳遞給變量$uid
的用戶ID。謝謝。
<p>// For testing</p>
<pre>$uid = 1;</pre>
<p> </p>
<pre>$array = array(
':uId' => ''.$uid.'',
':aId' => 'u.user_id',
':gID' => 'a.group_id',
':eID' => 'a.entry_id',
':pID' => 'a.permit_id'
);</pre>
//創建qd_user_usam表
$sql = "SELECT u.user_id, a.acl_id, g.group_name, e.entry_level, p.permit_level
FROM qd_users as u, qd_users_acl as a, qd_users_group as g, qd_users_entry as e, qd_users_permission as p
WHERE u.user_id = :uID AND a.acl_id = :aID AND g.group_id = :gID AND e.entry_id = :eID AND p.permit_id = :pID";
<p>try
{</p>
<p>// Build the database PDOStatement</p>
<pre>$_stmt = $this->_dbConn->prepare($sql);</pre>
<pre>$_stmt->execute($array);</pre>
<pre>}
catch(PDOException $e)
{</pre>
<pre>$this->_errorMessage .= 'Error processing user login access. <br /> Line #'.__LINE__ .' '.$e ;</pre>
<pre>die($this->_errorMessage);
}</pre>
<pre>$results = $_stmt->fetchAll(PDO::FETCH_ASSOC);</pre>
<pre>return $results;</pre>
<pre>$results = null;</pre>
<pre>$this->_dbConn = null;</pre>
這種方法也可以很好地工作,並且我已經看完了。謝謝... – 2013-02-12 19:27:57