服务器运行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