• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysqlのドライバが見つからないについて)

mysqlのドライバが見つからないについて

このQ&Aのポイント
  • cakephp1.3バージョンを使用している際に、mysqlのドライバが見つからないエラーが発生します。
  • 具体的には、DboMysql - 選択したドライバーが有効になっていませんというエラーメッセージが表示されます。
  • php.iniファイルの設定を確認し、mysqlのドライバがコメントアウトされていないか、または再起動が必要ないかなどを確認してください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

$link = mysqli_connect('localhost', 'watashi', 'wwwwww', 'watashi'); チェックめんどうなら、 try { } catch ( mysqli_sql_exception $e ) { } でも、OKですよ。 $db = mysqli_select_db($link, 'watashi'); これいらない。mysqli_connectの4パラメタで指定しているので、 最初から設定済み。別にqueryで use XXXで切り替えても同じ。 //ここで引数が一つだとエラーになります。 //$query = mysql_query($sql_commond); ハンドルの指定ができないので、エラーが出て正常 //引数を2つにしました。 mysqli_query($link, $sql_commond); 接続に使ったハンドルを渡しているのでこれは動きます。 こちらでは、 /* mysqliサポートの有無を先に確認 */ if ( function_exists( 'mysqli_connect' ) ) { try { if ( $this->database = mysqli_connect( 'localhost', $id, $password, $database ) ) { // OK } else { /* エラー時"false"が返ってるのでnullに戻す */ $this->database = null; } } catch ( Exception $e ) { echo $e->getMessage(); $this->database = null; } } else { $this->database = null; } この関数実行後、 $this->database こいつが、nullかだけで、 mySQLの接続状態がわかるので、1発で判定OKなので。 ってことで、すでに質問者さんも動いたとの事なので。 元々の、cakeがもう動きそうですけどね。

panja2021
質問者

お礼

データベース接続と作成はうまくいきました。 アドバイスありがとうございました。 助かりました。 cakephp1.3.21系でいけました。 ダウンロード先はここです。 https://github.com/cakephp/cakephp/archive/1.3.21.zip 1.3.21-master.zipではうまくいきませんでした。 https://github.com/littleant/cakephp-1.3.21 cakephpの最新版をダウンロードしていなかったのが原因でした。 ご迷惑おかけしました。 ありがとうございました。

その他の回答 (2)

回答No.2

テストする条件はそろった気がするので、 こちらでも、検証するので、 後で必ずこれレスします。 週末はやることがいっぱいでして^^ ちょっと待っててね!。

回答No.1

>mysqliで接続したいです。 そもそも、mysqliは使用可能なのでしょうか? その上で動くpdoだけをエクステンションに加えているように 思われます。 一度、mysql <ここに色々文字がある>. so | dllを 全部入れて、テストしてみて、OKだったら、 不要な物を外していく!ってのが、 手っ取り早いかと思い思います。 XAMPPかなにか?ですかね。。dllってことは。。

panja2021
質問者

補足

コメントありがとうございます。 xampp7.3.40バージョンを使っています。 以下のコードで接続確認できました。 //データベースへの接続 //connect ok $link = mysqli_connect('localhost', 'watashi', 'wwwwww', 'watashi'); // 接続状況をチェックします if (mysqli_connect_errno()) { die("データベースに接続できません:" . mysqli_connect_error() . "\n"); } echo "データベースの接続に成功しました。\n"; $db = mysqli_select_db($link, 'watashi'); //usersテーブル作成用のSQL $sql_commond= "create table users( id int auto_increment, username char(50), password char(50), shimei varchar(255), yubinnum varchar(255), jusyo text, denwa varchar(255), faxnum varchar(255), mailadd varchar(255), seibetu varchar(255), nenrei varchar(255), timestamp int, primary key(id) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci"; //ここで引数が一つだとエラーになります。 //$query = mysql_query($sql_commond); //引数を2つにしました。 mysqli_query($link, $sql_commond); よろしくお願いします。 補足の情報があったら言ってください。

関連するQ&A