2016-07-26 6 views
1

私はUwAmpをインストールして実行しています。私は、ローカルホスト上のmysqlite DBを設定していると私は、次のPHPコードを使用して接続しようとしている:phpでローカルホストのsqlite dbに接続

dbがgraspeと呼ばれ、私はこのスクリプトを実行すると、それが正常に接続していると述べている
<?php 
    try 
{ 
    /*** connect to SQLite database ***/ 
    $dbh = new PDO("sqlite:graspe.sqlite"); 
    echo "Handle has been created ...... <br><br>"; 

} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
    echo "<br><br>Database -- NOT -- loaded successfully .. "; 
    die("<br><br>Query Closed !!! $error"); 
} 
echo "Database loaded successfully ...."; 
?> 

。データベースの名前を何かに変更すると、正常に接続されたメッセージが返されます。私は間違って何をしていますか?前もって感謝します。

+0

私は感じをしましたあなたのtry/catchは蹴られていません。 'echo 'を削除するとどうなりますか?データベースが正常に読み込まれました...."; '?この$エラーはどこにありますか?エラー報告はあなたにそれについて何かを投げかけたはずです。 –

+0

エコーラインを削除すると「ハンドルが作成されました......」 DBの名前を別のものに変更すると、同じ成功メッセージが表示されます。 – KPM

+0

エラーをチェックするのはどうすればいいですかhttp://php.net/manual/en/pdo.error-handling.phpとhttp://php.net/manual/en/function.error-reporting.php - それから何か? –

答えて

2

デフォルトでは、sqliteデータベースへの新しい接続を構築するとき、そのデータベースは存在しない場合に作成されます。

データベースはあなたが(new PDO("sqlite:/");)へのアクセス権を持っていないファイル名を書き込むしようとすることができます作成​​することができないときに例外をスローすることを確認するために、コードをテストしたい場合は

+0

またはデータベースファイルが存在する場合、あなたは、単にチェックするには、/私は上記のコードを試してみました:) – icecub

+0

書き込み可能であると私は、エラーメッセージ SQLSTATE [HY000] [14] データベースのデータベースファイルを開くことができませんでし受け取る - NOT - ロードされたに正常に.. クエリクローズド!!! PDOException:SQLSTATE [HY000] [14] C:¥Users¥max¥Desktop¥Graspe¥graspe¥db_connect.phpのデータベースファイルを開くことができません:13スタックトレース:#0 C:\ Users \ max \ Desktop \ Graspe \ graspe \ db_connect.php(13):PDO - > __ construct( 'sqlite:/')#1 {main} – KPM

+0

@KPMこれはまさにあなたのコードがするものです。 – Dekel

関連する問題