PHPを参考にしている動画の通りに動作をさせたい。
やりたいこと
参考にしている動画の通りに動作をさせたい。
発生している問題
- 500エラーが出る。
- 下記の部分を消せば、500エラーは消えてHTMLが表示されるが、受け取っている予定のデータは表示されない。
detail.phpのこの部分を消せば500エラーが消える↓
$dbh = dbConnect();
// var_dump($dbh);
$stmt = $dbh->prepare('select * from blog Where id = :id');
$stmt->bindValue(':id', (int)$id, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
参考にしている動画
【PHP/MySQL入門】プレースホルダーでブログ詳細画面を表示しよう! #06
detail.phpの全コード↓
<?php
$id = $_GET['id'];
// echo $id;
function dbConnect(){
$dsn = "mysql:dbname=blog;host=localhost;charset=utf8";
$user = "table_h";
$pass = "table";
$option = [
PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMURATE_PREPARES => false,
];
try{
$dbh = new PDO($dsn, $user, $pass, $option);
}catch(PDOException $e){
echo '接続失敗'. "<br />". $e->getMessage();
exit();
};
return $dbh;
}
$dbh = dbConnect();
// var_dump($dbh);
$stmt = $dbh->prepare('select * from blog Where id = :id');
$stmt->bindValue(':id', (int)$id, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ブログ詳細</title>
</head>
<body>
<h2>ブログ詳細</h2>
<h3>タイトル:<?PHP echo $result['title'] ?></h3>
<p>投稿日時:<?PHP echo $result['post_at'] ?></p>
<p>カテゴリ:<?PHP echo $result['category'] ?></p>
<hr>
<p>本文:<?PHP echo $result['content'] ?></p>
</body>
</html>
具体的な正解コードが分かる方、よろしくお願い致します!
0