環境
・Windows10
・XAMPP 3.2.4
・PHP7.3.10
前提・実現したいこと
SmartyとPDOを利用して、データベースの中身をhtml表示したい。
発生している問題・エラーメッセージ
このメッセージがどうしても出てしまいます。
Error:could not find driver
該当のソースコード
<?php //テンプレート利用準備 require_once 'smarty/Smarty.class.php'; $smarty = new Smarty(); $smarty->template_dir = 'templates/'; $smarty->compile_dir = 'templates_c/'; try { //データベース接続 $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', ''); $pdo->setAttribute(PDO::ALTER_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //データ検索 $stmt = $pdo->query('SELECT * FROM fruits ORDER BY id DESC'); } catch (PDOException $e) { exit('データベース接続失敗'.$e->getMessage()); } //データベース接続終了 $pdo = null; //結果表示 $smarty->display('index.html'); ?>
試したこと
①php.ini のあるディレクトリのPathを通す。
②phpinfo()で確認すると、PDOの欄には、no valueと出ています。
➡ここにmysqlが表示できればいいのですよね...?それが出来ず困っています。
③php.iniの中身を変更。
・extension_dirのディレクトリを、php_pdo_mysql.dllのある場所に変更。
・下記の先頭の;(コメントアウト)を外すした。
extension=php_pdo.dll
extension=pdo_mysql
extension=php_pdo_mysql.dll
extension=mysqli
extension=php_mysql.dll
いろんなサイトを見て試しましたが、どうしても解決できません。
よろしくお願いいたします。
追記(2019.10.24/17:08)
ちなみに、php.iniを編集する際は、XAMPPのApacheのConfigからPHP(php.ini)を押下して開いています。