2

Plasma というデータベースのテーブルから 2 つの要素を取得する簡単なコードを書いています。接続はうまくいっているようですが、原因不明のデータベースを選択できません。

コード :

<?php
$db  = "Plasma"; 
$dbH = "localhost";
$dbU = "plasma";
$dbP = "plasma";
      $dbCon = mysqli_connect($dbH,$dbU,$dbP,$db);
        if(!dbCon){
            echo "Conenction Fail";
        }
        mysqli_select_db($dbCon,$db);
        $qry = "select Mid,Mname from ya_movies order by DOA limit 5;";
        $Response = mysqli_query($dbCon,$qry);
        echo mysqli_error($dbCon);                     ?>

出力は

No database selected
4

5 に答える 5

11

これは、十分なデバッグ情報がない典型的なケースです。

mysqli_select_db($dbCon, $db);

戻り値をチェックしません。falseデータベースを変更できなかったことを示すために返される場合があります (おそらくパーミッションが原因です)。これを配置して実行することをお勧めします:

if (!mysqli_select_db($dbCon, $db)) {
    die("Uh oh, couldn't select database $db");
}

このような場合は、名前、権限などを再確認してください。

于 2013-07-02T10:05:17.970 に答える
2

コメントはできませんが、まだ評判はありませんが、

if(!$dbCon){
    echo "Connection Failure!";
}

これを試して:

if (!$dbCon) {
    die('Connection Error (' . mysqli_connect_errno() . ') '
        . mysqli_connect_error());
}

より意味のあるエラー メッセージが表示される場合があります。

于 2013-07-02T10:00:52.397 に答える
0
if(!dbCon){
   echo "Conenction Fail"; 
}

dbCon 変数に $ を追加するのを忘れました。

于 2014-08-13T18:37:38.103 に答える
-1

私も同じ問題を抱えていました。新しいデータベースを作成しましたが、PHP から選択できませんでした。それでも、テスト データベースを選択できます。$user を「root」に変更することで解決しました。あなたの場合:

$dbU = 'root'

それはあなたのために働くはずです。

于 2015-07-11T11:30:13.333 に答える