php - 没有数据库连接,没有错误

标签 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”包尚未运行安装

有人可以帮我吗?

最佳答案

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

关于php - 没有数据库连接,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43499446/

相关文章:

php - 根据mysql数据库检查php登录表单

PHP对多维数组进行排序

php - Composer 下载私有(private) GitHub 存储库

php - 查询3个mysql表以创建HTML表

php - 如何查询 Cookie 变量

java - Kotlin 。 Java 和 PHP 与 MySQL 的性能

mysql - 重新安装 wampserver 后数据库表丢失

java - Tomcat 安全管理器 - c3p0 和 hibernate

php - 调用未定义的函数 __() 错误 - phpMyAdmin

php - 无法在 Windows LAMP 堆栈上访问 PHPMyAdmin