你好,我是新的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
答案 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;以上是你的名字。