0

我有 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 个回声,一个在连接功能之前,一个在其后。只有第一个回声会打印在屏幕上。我尝试在终端输入 sudo apt-get install php5-mysql 但出现错误: “php5-mysql”数据包尚未运行安装

有人能帮助我吗?

4

1 回答 1

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>
于 2017-04-19T15:20:02.580 回答