Нет подключения к базе данных без ошибок

У меня Ubuntu 16.10 x86_64 x86_64. Я установил LAMP для программирования на PHP и для создания баз данных. В моей программе php я хочу подключиться к моей локальной базе данных для создания таблицы (в HTML) с данными любой строки таблицы.
Проблема в том, что когда я открываю файл php (localhost / file.php) через firefox, браузер ничего не заряжает. Если бы была ошибка при соединении с базой данных, она бы что-то напечатала в браузере.
Вот код:

<!DOCTYPE html>
<html>

<head><title> SQL & PHP </title></head>

<body>

<?php$db = mysql_connect("localhost", "root", "password")
or die ("Non riesco a creare la connessione");mysql_select_db("scuola")
or die ("Non trovo il DB");

$sql = "SELECT id_utente, nome_utente, password_utente, conta_pres FROM  utenti WHERE conta_pres <> 0";

$ris = mysql_query($sql) or die ("Query fallita!");

echo "<TABLE><TR><TH>ID utente <TH> Nome utente <TH>Password<TH>Contatore visite</TR>";

while ($riga= mysql_fetch_array($ris))
{
echo ("<TR>");
echo "<TD>"  . $riga["id_utente"];
echo "<TD>"  . $riga["nome_utente"];
echo "<TD>"  . $riga["password_utente"];
echo "<TD>"  . $riga["conta_pres"];

}

mysql_close();
?>
</body>

</html>

Я проверил синтаксис (используя веб-сайт) кода, и это не проблема, даже если я скопировал его в книгу. Я прочитал, что mysql_connect устарел, поэтому я заменил его новым mysqli_connect, но ошибка все еще остается: белая страница. Я попытался поставить 2 эха, один до функции подключения и один после этого. Только первое эхо выводится на экран. Я попытался набрать в терминале sudo apt-get install php5-mysql, но есть ошибка:
Пакет «php5-mysql» не запущен для установки

Может кто-то помочь мне, пожалуйста?

0

Решение

Прежде всего использовать mysqli вместо mysql,

Я думаю, что нашел проблему. Когда вы звоните mysqli_select_db, он ожидает 2 параметра, а вы указали только один. Даже если вы установили $db подключение к базе данных, вам нужно указать, из какой базы данных вы хотите выбрать имя базы данных.

Так mysqli_select_db($db, "scuola") должен сделать свое дело.

И внизу закройте соединение, указав, какое соединение закрывать. В вашем случае это: mysqli_close($db);

<!DOCTYPE html>
<html>

<head><title> SQL & PHP </title></head>

<body>

<?php$db = mysqli_connect("localhost", "root", "password")
or die ("Non riesco a creare la connessione");mysqli_select_db($db, "scuola") // see this line
or die ("Non trovo il DB");

$sql = "SELECT id_utente, nome_utente, password_utente, conta_pres FROM  utenti WHERE conta_pres <> 0";

$ris = mysql_query($sql) or die ("Query fallita!");

echo "<TABLE><TR><TH>ID utente <TH> Nome utente <TH>Password<TH>Contatore visite</TR>";

while ($riga= mysql_fetch_array($ris))
{
echo ("<TR>");
echo "<TD>"  . $riga["id_utente"];
echo "<TD>"  . $riga["nome_utente"];
echo "<TD>"  . $riga["password_utente"];
echo "<TD>"  . $riga["conta_pres"];

}

mysqli_close($db); // see this line
?>
</body>

</html>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]