我的 MySQL 数据库设置为名称“chatterr”和表名“maillist”。我目前正在使用下面的 php:
<?php
mysql_connect("localhost","root","");
//query databae
$query = "SELECT * FROM maillist ORDER BY id DESC LIMIT 4";
$result=mysql_query($query) or die('Error, insert query failed');
$row=0;
$numrows=mysql_num_rows($result);
while($row<$numrows) {
$id=mysql_result($result,$row,"id");
$first_name=mysql_result($result, $row, "first_name");
$last_name=mysql_result($result, $row, "last_name");
?>
<?php echo $id; ?>
<?php
$row++;
}
?>
它适用于本地主机,但不适用于 PHP。代码有什么问题?
最佳答案
选择带mysql_select_db
的数据库在查询之前
mysql_connect("localhost","root","");
mysql_select_db("chatterr");
或者在查询中指定数据库名
$query = "SELECT * FROM chatterr.students ORDER BY id DESC LIMIT 4";
更新:除此之外,您的连接可能失败。 更改
mysql_connect("localhost","root","");
到
$db = mysql_connect("localhost","root","");
if (!$db) {
die('Could not connect: ' . mysql_error());
}
看看是不是这样。
UPDATE3:将它们放在一起。尽管该代码有 很多 改进空间,但它在我的机器上运行得非常好。
<?php
$db = mysql_connect("localhost","root","");
if (!$db) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("chatterr", $db);
if (!$db_selected) {
die ('Could not select db: ' . mysql_error());
}
//query databae
$query = "SELECT * FROM test.students ORDER BY id DESC LIMIT 4";
$result=mysql_query($query) or die('Error, insert query failed');
$row=0;
$numrows=mysql_num_rows($result);
while($row<$numrows)
{
$id=mysql_result($result,$row,"id");
$first_name=mysql_result($result,$row,"first_name");
$last_name=mysql_result($result,$row,"last_name"); ?>
<?php echo $id; ?>
<?php
$row++;
}
?>
And please, don't use mysql_* functions for new code. They are deprecated. Use prepared statements with either PDO or MySQLi.
关于php - MySQL 查询和显示不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319438/