0

私はこのコードを書き始めたばかりで、データベース選択を追加してページを更新すると、ページ上の他のすべての html またはエラーを表示する代わりに、空白で表示されます。

これが私が持っているものです-

$link = mysql_connect('vps2.foo.com:3306', 'remote_vhost30', 'password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db('best_of', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}

$sections_result = "SELECT * FROM sections";
$sections_query = mysql_query($sections_result) or die(mysql_error());
$sections_array = mysql_fetch_array($sections_result) or die(mysql_error());

上記のコードは空白のページを返します。$db_selected で始まる行をコメントアウトすると、ページが正常に読み込まれます。明らかに、データに対しては何もしませんが、エラーはありません。

どうしたの?(そして、はい、リモート サーバーに接続していますが、$link はエラーを生成しません)

4

3 に答える 3

2

ちなみに、問題は PHP がエラーをスローしていることだと思いますが、エラーの表示を無効にしているため、空白の白いページが表示されます。php.ini ファイル内の「display_errors」のステータスを確認してください。

注意: これが運用サーバーの場合は、display_errors をオフのままにしておく必要があります。

于 2009-07-29T20:10:58.920 に答える
2

コードの最後の行は次のようになります。

$sections_array = mysql_fetch_array($sections_query) or die(mysql_error());

変数 から行を取得しようとしています$sections_resultが、これはクエリ文字列であり、結果セットではありません。


error_reporting(E_ALL)他の回答のいずれかに記載されているように、エラー報告を有効にします。

于 2009-07-29T20:07:54.870 に答える
1

これを置き換えて、実際にその行であることを確認します。

$db_selected = mysql_select_db('best_of', $link);

これとともに:

if (! $db_selected = mysql_select_db('best_of', $link)) die('Unable to select database');

MitMaro が言うように、_result と _query をごちゃ混ぜにしてしまいました。これはより良いかもしれません:

$sections_query = "SELECT * FROM sections";
$sections_result = mysql_query($sections_query) or die(mysql_error());
$sections_array = mysql_fetch_array($sections_result) or die(mysql_error());

それが役立つことを願っています:)

于 2009-07-29T20:12:08.403 に答える