PEAR MDB2に接続したい
解決したいこと
タイトルそのままです。
PDOのほうがいいよ、というのはわかってます。
あえて、MDB2の方に挑戦しています。
大変申し訳ありませんが、皆さんのお力をお借りしたいです。
現在
Mac Catalina
MAMP 6.3(1040)
MYSQL 5.7.32
MDB2 2.5.0b5
MDB2ドライバーインストール済
(ただし、PEAR INSTALLではできなかったので、仕方なくDLして
pear install --nodeps MDB2_Driver_mysql-1.5.0b4.tgzでインストール)
→これが怪しいなと思うのですが、PEAR INSTALLでは
pear/MDB2_Driver_mysql requires PHP extension "mysql"
のエラーが出てしまい、yumがインストール出来ないのでやむを得ずこの形にしています
PEAR LISTの結果は下記の通り
=========================================
Package Version State
MDB2 2.5.0b5 beta
MDB2_Driver_mysql 1.5.0b4 beta
PEAR 1.10.12 stable
=========================================
下のコードで接続テストをしました
<?php
require 'mdb2.php'; # MDB2を使うための宣言
# DNSは(使用するDB名)://(ユーザ名):(パスワード)@(接続ホスト名)/(DB名)
$dns = 'mysql://root:(パスワード)@localhost/testMDB2';
$db = MDB2::connect($dns); # DBへの接続
if(PEAR::isError($db)) { die("接続失敗" . $db->getMessage()); } # DBの接続に失敗した時の処理
※上の(パスワード)はもちろんmySQLに設定したものを入れています
### 発生している問題・エラー
接続失敗MDB2 Error: not found
文字通り、接続に失敗しているということになります
エラーログは下記が出てました。
でも該当のところを見てもよくわからず。。
なんらかわかるところがありましたらご教授ください。。。
PHP Warning: count(): Parameter must be an array or an object that implements Countable in /Applications/MAMP/bin/php/php7.4.12/lib/php/mdb2.php on line 826
[04-Jun-2021 15:41:53 UTC] PHP Stack trace:
[04-Jun-2021 15:41:53 UTC] PHP 1. {main}() /Applications/MAMP/htdocs/testdb.php:0
[04-Jun-2021 15:41:53 UTC] PHP 2. MDB2::connect() /Applications/MAMP/htdocs/testdb.php:7
[04-Jun-2021 15:41:53 UTC] PHP 3. MDB2::factory() /Applications/MAMP/bin/php/php7.4.12/lib/php/mdb2.php:417
[04-Jun-2021 15:41:53 UTC] PHP 4. MDB2::parseDSN() /Applications/MAMP/bin/php/php7.4.12/lib/php/mdb2.php:371
自分で試したこと
※このコードをテストする前にターミナルでユーザーとパスワードが正しいのは確認済
※Databaseは「testMDB2」,その中のテーブルには「users」があるのも確認済