よろしくお願いします。
この質問は、スタックオーバーフローさんにも同じものを投稿しています。
もともとXAMPPを入れており、その時からPDOを利用していました。
今回、とある理由でXAMPPをアンインストールし、Apacheを入れました。
データベース関係はPDOを使用したいので、今回もphp.iniを編集して、
既に作ってあるDB連携をしているページをlocalhostで開こうとしたのですが、
「このウェブページにはアクセスできません」と表示されました。
試しにDB連携をしていないページと、
DBを利用しているコードをコメントアウトしたものを開いてみましたが、
どちらもちゃんと表示されました。
php/extの中に、
php_pdo.dll,php_pdo_mysql.dll
があることも確認しています。
phpinfo()にも、PDOとpdo_mysqlの記述が追加されていました。
試して分かった事を書いていきます。
・ファイアウォールを切ってみましたが、結果は同じでした。
・プログラムにエラーが存在する場合、エラーメッセージが表示されます。
・データベースへの接続は確認出来ました。
・DELETE文の実行は確認出来ました。
・SELECT文のみ、ページが表示されなくなります。
php.iniの記述です。
php
1extension=php_pdo.dll 2extension=php_pdo_mysql.dll
DB接続用のコードです。
php
1$username = "root"; 2$password = "root"; 3$pdo = new PDO( 4 'mysql:host=localhost;dbname=iiidb', 5 $username, 6 $password, 7 array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
確認すべきことは他に何かありますか?
試すべきことがあれば教えていただきたいです。
最終的には、PDOを使ったデータベースと連携しているページが表示されるようにしたいです。
環境は
windows8.1
PHP5.2.11
Apache2.2.14
となっています。
情報が少しでも欲しいので、気がついたことがあれば
教えていただきたいです。
よろしくお願いします。
余談(?)ですが、
Apache Service Monitorの下の方に「Win32」と書かれているのが
少しきになりますが、無関係なのでしょうか...
(私のPCは64bit)
私のPCのは学校の斡旋で、今回入れたApacheは
学校側で授業で使用するために生徒に配布しているもので、
今回は特別に教師の人が入れてくださいました。
追記です。
php
1<?php 2header("Content-Type:text/html;charset=UTF-8"); 3try 4{ 5 /** 接続 **/ 6 $username = "root"; 7 $password = "root"; 8 $pdo = new PDO( 9 'mysql:host=localhost;dbname=iw32db;charset=utf8', 10 $username, 11 $password, 12 array(PDO::ATTR_EMULATE_PREPARES => false)); 13 print "接続成功?"; 14 15 print $pdo->errorCode(); 16 var_dump($pdo); 17 18 /** オートコミットを調べる 1が有効(ロールバック無効) 0が無効(ロールバック可能状態) **/ 19 $auto_commit = $pdo->getAttribute(constant("PDO::ATTR_AUTOCOMMIT")); 20 if($auto_commit == 0){ 21 $commit_mes = 'オートコミット無効'; 22 }elseif($auto_commit== 1){ 23 $commit_mes = 'オートコミット有効'; 24 } 25 print $commit_mes; 26 27 /** prepareでSELECT **/ 28 /* 29 $stmt = $pdo->prepare("SELECT * FROM t_movie_tbl"); 30 $stmt->execute(); 31 32 $movie_info = $stmt->fetch(PDO::FETCH_ASSOC); 33 var_dump($movie_info); 34 */ 35 36 /** 直接SELECT **/ 37 38 $sql = 'SELECT * FROM t_movie_tbl'; 39 foreach ($pdo->query($sql) as $val) { 40 print $val['f_movie_no']; 41 } 42 43 /** 接続を切る **/ 44 $pdo = null; 45 //$stmt->closeCursor(); 46 47} 48catch(PDOEexception $e) 49{ 50 var_dump($e); 51 exit('データベース接続失敗。'.$e->getMessage()); 52} 53?>
エラーは出ません。
「このウェブページにアクセスできません」
と表示されます。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/11/20 11:51
2015/11/20 12:04
2015/11/20 12:13
退会済みユーザー
2015/11/20 12:24
2015/11/20 13:00
退会済みユーザー
2015/11/20 21:15
2015/11/21 04:53