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

最后一行代码应该是:

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

您正在尝试从变量中获取行$sections_result,这是您的查询字符串而不是结果集。


打开错误报告,error_reporting(E_ALL)就像其他答案之一中提到的那样。

于 2009-07-29T20:07:54.870 回答
2

顺便说一句,我怀疑问题是 PHP 抛出了一个错误,但是你已经禁用了错误的显示 - 因此显示了一个空白的白页。检查 php.ini 文件中“display_errors”的状态。

注意:如果这是生产服务器,您应该将 display_errors 设置为关闭。

于 2009-07-29T20:10:58.920 回答
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 回答