没有数据库连接没有错误

时间:2017-04-19 15:02:14

标签: php mysql phpmyadmin php-7 ubuntu-16.10

我有Ubuntu 16.10 x86_64 x86_64。我安装了LAMP以在PHP中编程并创建数据库。在我的php程序中,我想连接到我的本地数据库,用于创建一个包含表格任何行数据的表格(用HTML格式)。 问题是当我通过firefox打开php文件(localhost / file.php)时,浏览器不会收取任何费用。如果在与数据库连接期间出现错误,它将在浏览器中打印出一些内容。 代码如下:

<!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个echo,一个在连接函数之前,一个在之后。屏幕上仅打印第一个回声。我试着输入终端sudo apt-get install php5-mysql,但是有一个错误: “php5-mysql”数据包尚未运行

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

首先使用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>