チャットアプリでチャット履歴が表示されない
PHP7で簡易的チャットアプリを作成しているのですが、チャットを送信した後、チャット履歴を表示したいのですが、履歴が表示されませんので、ご教授をお願い致します。
現在は出ていませんが、最初の時にMAMPで下記エラーが表示されていました。 21行目でcould not find driverエラー
該当のソースコード
php
1【chatDB.php】 2<section> 3 <?php 4 //DBからデータを取得する 5 $stmt = select(); foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $message) { 6 echo $message['time'],": ",$message['name'],":",$message['message']; 7 echo nl2br("\n"); 8 } 9 //投稿内容を登録 10 if(isset($_POST["send"])) { 11 insert(); 12 //投稿した内容を表示 13 $stmt = select_new(); 14 foreach($stmt->fetchAll(PDO::FETCH_ASSOC) as $message) { 15 echo $message['title'],": ",$message['name'],":",$message['message']; 16 echo nl2br("\n"); 17 } 18 } 19 20 //DB接続 21 function connectDB() { 22 $dbh = new PDO('mysql:host=localhost;dbname=chat','root','root'); 23 return $dbh; 24 } 25 //DBから投稿内容を取得 26 function select() { 27 $dbh = connectDB(); 28 $sql = "SELECT * FROM message ORDER BY time"; 29 $stmt = $dbh->prepare($sql); 30 $stmt->execute(); 31 return $stmt; 32 } 33 //DBから投稿内容を取得(最新の1件) 34 function select_new() { 35 $dbh = connectDB(); 36 $sql = "SELECT * FROM message ORDER BY time desc limit 1"; 37 $stmt = $dbh->prepare($sql); 38 $stmt->execute(); 39 return $stmt; 40 } 41 // DBから投稿内容を登録 42 function insert() { 43 $dbh = connectDB(); 44 $sql = "INSERT INTO message(name, message, time) VALUES(:name, :message, now())"; 45 $stmt = $dbh->prepare($sql); 46 $params = array(':name'=>$_POST['name'], ':message'=>$_POST['message']); 47 $stmt->execute($params); 48 } 49 ?> 50</section> 51
試したこと
could not find driverエラーが出ていましたので、下記を参考にしましたが、
すでにpdo_mysqlのドライバは入っていました。
https://qiita.com/ms2sato/items/1980f898357401f506aa
https://teratail.com/questions/95247
補足情報(FW/ツールのバージョンなど)
-環境-
PHP ver.7.27
MAMP
-mysqlの設定-
uername:root
pass:root
pdo_mysqlのドライバは入っています。
PDOの接続の設定(uername,password,host)が間違っていると思うのですが
MAMPのphpinfoの設定とphpmyadminの設定と一致しているので、どこが違うのかわからない状態です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/10 05:14