0
我在想,如果有人能幫助一些線索,爲什麼這PHP代碼不進入for循環?在MySQL中,查詢返回我需要的相應行,但在此PHP文件中,它無法將任何內容返回到數組中,因此不執行foreach
循環。PHP使用fetchall()不返回行
CODE
<?php
try {
$sql = 'SELECT FirstName,LastName ';
$sql .= 'FROM adventureworks.employeedepartmenthistory ';
$sql .= 'JOIN employee USING(EmployeeID) ';
$sql .= 'JOIN contact USING(ContactID) ';
$sql .= 'WHERE DepartmentID = 2';
$stmt = $dbh->prepare($sql);
$stmt->execute();
echo $sql;
echo '<ul>';
foreach ($stmt->fetchAll() as $emps){
echo "<li>" . $emps["FirstName"] . $emps["LastName"] . "</li>";
}
echo '</ul>';
$stmt = null;
}
catch (Exception $e) {
echo "Error";
echo $e->getMessage();
}
?>
我甚至有程序呼應SQL查詢,我複製到MySQL,它仍然有效。它可能是一個簡單的語法錯誤,還是表格連接,即時通訊表演?
也爲Im肯定的是,該方案正在與正確的,因爲我有其他類似的PHP文件正常工作這樣一個數據庫:
<?php
try {
$sql = 'SELECT department.Name FROM adventureworks.department';
$stmt = $dbh->prepare($sql);
$stmt->execute();
echo '<ul>';
foreach ($stmt->fetchAll() as $depts) {
echo "<li>" . $depts["Name"] . " -> (" .
"<a href='deptEmps.php?deptID=" . $depts['deptID']
. "'>Employees </a>)" . "</li>\n";
}
echo '</ul>';
$stmt = null;
}
catch (Exception $e) {
echo "Error";
echo $e->getMessage();
}
?>
'error_reporting(E_ALL); 的ini_set( 'display_errors設置', '1');' – AbraCadaver
...和http://php.net/manual/en/pdo.error-handling.php然後編輯您的帖子包含的錯誤,如果有的話。 –
感謝您的評論,雖然PHP不認爲這是一個錯誤。它只是簡單地運行查詢而不接收行。我不相信錯誤處理會查明這個 –