PHPを実行しているリモートホストはどのオペレーティングシステムを使用していますか?おそらく、MySQLはで有効になっていませんphp.ini
。mysql_*
また、新しいコードには関数を使用しないでください。それらはもはや維持されておらず、コミュニティは非推奨プロセスを開始しています(赤いボックスを参照)。代わりに、プリペアドステートメントについて学び、 PDOまたはMySQLiのいずれかを使用する必要があります。どちらかがわからない場合は、この記事が役に立ちます。あなたが学びたいのであれば、これは良いPDOチュートリアルです。
PDOまたはMySQLiインターフェースを使用してみましたか?PHPを学習しようとしている場合は、mysql_ *関数を使用しないでください。次のような行を使用してデータベースにアクセスできるかどうかを確認します。
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
より詳細なドキュメントが必要な場合、このコードはドキュメント自体から直接取得されます。
編集:また、PDOのエラーチェック機能を使用してみてください。この例では、PDOを使用してデータベース接続を作成し、単純なクエリを実行しようとします。プリペアドステートメントやこれらの機能のいずれも使用しないため、本番環境に対応したコードではありません(つまり、改善方法を理解せずにコードにこれをスローしないでください)。編集して、SELECT
データベースに関連するクエリですが、少なくともPDOに、発生したエラーに関する詳細情報を提供するように指示する必要があります。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$dbhost = "localhost";
$dbname = "test";
$dbuser = "root";
$dbpass = "admin";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// query
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM booksa";
$q = $conn->query($sql) or die("ERROR: " . implode(":", $conn->errorInfo()));
$r = $q->fetch(PDO::FETCH_ASSOC);
print_r($r);
?>