現在、MySQL データベースには 5 つのテーブルがあります。それらのいくつかは外部キーを共有し、相互に依存しています。MySQL でクエリをテストしましたが、完璧に動作します。クエリ php を使用すると、データベース PDO 接続でエラーが表示されます。また、意図したとおりに PHP が結果を出力するかどうかもわかりません。この 2 つの問題を解決するにはどうすればよいですか?
PHP
<?
try {
$pdo = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$query = $pdo->prepare("SELECT course.id, major.name, course.name, course.code, course.description, course.hours, semester.semester, semester.year
FROM course
LEFT JOIN major_course_xref ON course.id = major_course_xref.course_id
LEFT JOIN major ON major.id = major_course_xref.major_id
LEFT JOIN course_semester_xref ON course.id = course_semester_xref.course_id
LEFT JOIN semester ON course_semester_xref.semester_id = semester.id");
$query->execute();
foreach ($pdo->query($query) as $row) {
print $row['id'] . "\t";
print $row['name'] . "\t";
print $row['name'] . "\n";
print $row['code'] . "\n";
print $row['description'] . "\n";
print $row['hours'] . "\n";
print $row['semester'] . "\n";
print $row['year'] . "\n";
}
unset($pdo);
unset($query);
?>
希望の表示:
Computer Engeneering
Visual Studio I
CPE1900
Introduction to disciplined, object-oriented programming
4
Fall
2013
Raysの回答後に更新:これは私が今得たエラーです
Warning: PDO::query() expects parameter 1 to be string
Warning: Invalid argument supplied for foreach() in