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