2009-07-29 4 views
0

Я только начинаю писать этот код, и когда я добавляю в db, выбираю и обновляю страницу, вместо того, чтобы показывать весь другой html на странице или ошибку, он просто отображается пустым.php mysql_select_db возвращает пустую страницу

Вот что я got-

$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, страница загружается штрафом. Очевидно, что он ничего не делает с данными, но без ошибок.

В чем проблема? (И да, я подключении к удаленному серверу, но $ ссылку не производит никаких ошибок)

ответ

2

Последняя строка кода должна быть:

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

Вы пытаетесь извлечь строки из переменной $sections_result, которая является вашей строкой запроса, а не набором результатов.


Включите отчеты об ошибках, с error_reporting(E_ALL) как упоминалось в одном из других ответов.

+0

Почему я всегда чувствую себя полным немого в $$ после того как я прочитал ответ ... ха-ха .. спасибо за уловом! – Marty

+0

Мы все виноваты в таких вещах. – MitMaro

2

Кстати, я подозреваю, что проблема в том, что PHP выдает ошибку, но вы отключили отображение ошибок - отсюда отображается пустая белая страница. Проверьте статус «display_errors» в файле php.ini.

NB: Если это производственный сервер, вы должны отключить отображение display_errors.

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()); 

Надежда, что помогает :)

+0

Как выполнить проверку ошибок в одной строке вместо двух разных? – MitMaro

+0

Извините, я не видел вашу проверку ошибок после строки select_db :) –

Смежные вопросы