服務器運行PHP 5.2.8。 PDO安裝了mysql 5.1.30驅動程序。PDO不會從多於1列的SELECT返回結果
好了,所以我試圖找出一些PDO(這實在是讓人受不了。當我運行下面的代碼,我得到預期的結果,沒有任何問題。
但是,每當我嘗試添加多於一列(或*)到SELECT,沒有答覆從查詢 - 沒有任何結果。我已經嘗試了一切 - 我知道它一定是簡單的任何建議,爲什麼多個列無法返回任何行?
$hostname = "localhost";
$dbname = "dbname";
$username = "username";
$password = "password";
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/*** echo a message saying we have connected ***/
echo 'Connected to database<br />';
/*** The SQL SELECT statement ***/
$sql = "SELECT LastName FROM staff";
foreach ($dbh->query($sql) as $row) {
echo $row['LastName'] . '<br />';
}
/*** close the database connection ***/
$dbh = null;
} catch(PDOException $e) {
echo $e->getMessage();
}
再次,如果我嘗試將存儲在$ SQL比單一的專欄中,我得到bupkis以外的任何聲明添加列。例如:
SELECT FirstName, LastName FROM staff
返回零結果。兩列都存在 - 如果單獨要求,它們會返回預期結果。結合時,查詢需要相當長的時間,然後不返回任何內容。
catch塊沒有發現異常。
請切換PDO錯誤無聲報告例外。這可能會有所幫助。 – NikiC 2011-02-08 19:57:56
你有錯誤嗎?或者查詢只是返回空? – Cfreak 2011-02-08 19:58:33