错误:在网站上显示数据时未选择数据库


error: No database selected when displaying data on website

我叫安娜,正在用节日日历建立一个网站!人们登录后可以添加节日。但现在我的问题是,如何显示人们在我的数据库中输入的内容。我在这个网站上找到了以下代码,但当我把它放在脚本中时,我得到的错误是没有选择数据库。但我确实选择了一个数据库(节日(?

            $sql = "SELECT festival_name, festival_organisator, festival_begin FROM Festivals WHERE festival_id=3";
            $result = mysql_query($sql) or die(mysql_error());
            $festival_name = $festival_organisator = $festival_begin = array();
            while($row = mysql_fetch_assoc($result)) {
                $festival_name[] = $row['festival_name'];
                $festival_organisator[] = $row['festival_organisator'];
                $festival_begin[] = $row['festival_begin'];
            }

我希望任何人都能帮助我!提前感谢

您尚未连接到数据库本身

查询从Festivals中选择并不意味着选择了Festivals数据库,这是两件非常不同的事情。

  • 数据库Festivals包含所有表(表Festivales、表x等(
  • Festivals表包含可以查询的数据(festival_name、festival_organizator等(

现在您必须连接

查看文档总是一个不错的选择,让我们看看如何连接并选择数据库:

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Can''t use foo : ' . mysql_error());
}
?>

您应该连接到数据库,并通过$link访问所选数据库。

mysql_query($sql, $link)

但不要这么做

除非你必须,但可爱的小狗会死的:(

您不应该首先使用mysql_*,因为它不再受支持。相反,您应该使用PDO或mysqli来完成您的任务。一开始可能听起来或看起来更棘手,但实际上相当简单:

  • 关于如何使用PDO进行查询的相关答案
  • PDO文档提供了关于如何查询的好例子
  • mysqli_*文档提供了关于如何查询的很好的示例