php mysql_select_db返回空白页面

时间:2009-07-29 20:02:46

标签: php mysql-select-db

我刚刚开始编写这段代码,当我添加数据库选择并刷新页面时,不是在页面上显示所有其他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不会产生错误)

3 个答案:

答案 0 :(得分:2)

最后一行代码应为:

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

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


启用错误报告,其中error_reporting(E_ALL)就像其他一个答案中提到的一样。

答案 1 :(得分:2)

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

注意:如果这是生产服务器,则应将display_errors设置为off。

答案 2 :(得分: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());

希望有所帮助:)