我有 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/