选择新闻时出错:未选择数据库

时间:2014-10-21 20:31:46

标签: php mysql database

你好,我是新的PHP,我试图在我的网站上制作一个新闻插件。但我有以下错误,我无法修复。

            $query = "SELECT `id` , `headline`, `timestamp` FROM `news` ORDER BY `timestamp` DESC";
        $result = @mysql_query($query);
        if(!$result){
           echo('Error selecting news: ' . mysql_error());
           exit();
        }
        if (mysql_num_rows($result) > 0)
        {
            while($row = mysql_fetch_object($result)) 
            {
            ?>
            <font size="-1"><b><? echo $row[headling]; ?></b> <i><? echo formatDate($row[timestamp]); ?></i></font><?
            }
        }
        mysql_close($conn);
        ?>

一遍又一遍地犯同样的错误。

Error: Error selecting news: No database selected

2 个答案:

答案 0 :(得分:2)

您需要选择一个数据库。 请参阅mysql_select_db http://php.net/manual/de/function.mysql-select-db.php

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
  die('Connection failed : ' . mysql_error());
}

$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
   die ('Db does not exist : ' . mysql_error());
}
?>

另请注意,mysql_*已弃用。使用新的php风格 http://php.net/manual/de/mysqli.select-db.php

此示例中的数据库是“test”

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* change db to world db */
$mysqli->select_db("world");

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

答案 1 :(得分:0)

我猜您需要指定您在声明中尝试查询的数据库。

select a.id , a.headline, a.timestamp 
from database.news a 
order by a.timestamp desc

替换&#34;数据库&#34;以上是你的名字。