我想从MySQL数据库中显示一些基本数据。这是我目前的代码,但它似乎不起作用。有人可以解释为什么这不起作用并提供解决方案?谢谢!
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("cede") or die("Couldn't find database");
$result = 'SELECT * FROM 'users' ORDER BY 'DATE' DESC LIMIT 8';
echo = "'$result'"
?>
答案 0 :(得分:2)
提供您的连接和结构信息是正确的,以下内容适合您:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("cede") or die("Couldn't find database");
$result = 'SELECT * FROM `users` ORDER BY `DATE` DESC LIMIT 8';
$query = mysql_query($result) or die("Query Error");
while($row = mysql_fetch_assoc($query))
{
echo = "'" . $row['user'] . "'";
}
?>
答案 1 :(得分:0)
您应该查询字符串,然后回显结果,例如:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("cede") or die("Couldn't find database");
$query = 'SELECT * FROM `users` ORDER BY `DATE` DESC LIMIT 8';
$result = mysql_query($query);
echo = "'$result'"; // This may need a foreach loop
?>
答案 2 :(得分:0)
您忘记查询数据库了!
您需要使用mysql_query()
从数据库服务器检索数据,然后使用while()
循环遍历它。
另外,你不能在引用的字符串中使用引号 - 它会破坏字符串,这意味着你会在SELECT ...
行中出现语法错误。您实际上不需要在查询中引用数据库字段,因此以下情况应该可以正常工作:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("cede") or die("Couldn't find database");
$query = 'SELECT * FROM users ORDER BY DATE DESC LIMIT 8';
$result = mysql_query($query); // Query the database.
// Loop through each returned row
while($row = mysql_fetch_assoc($result))
{
print_r($row); // Prints the current row
}
?>
要显示PHP报告的任何错误,请将这两行放在脚本的顶部。
error_reporting(E_ALL);
ini_set('display_errors', '1');
他们会输出您获得的任何错误,使问题很多更容易解决。
答案 3 :(得分:0)
选择数据库后需要
$stmt = mysql_query("SELECT * FROM users ORDER BY DATE DESC LIMIT 8");
while ($result = mysql_fetch_array($stmt, MYSQL_NUM))
{
var_dump($result);
}
mysql_free_result($stmt);
答案 4 :(得分:0)
您应该转义字符串中的'
,因为您也可以使用它们来打开和关闭字符串。语法高亮显示实际上告诉你你错了('用户'和'DATE'是黑色而不是栗色)。 :)
请参阅PHP.net documentation about strings:
之后,您需要进一步处理$ result。它只是一个资源指针,不能以这种方式回显。但那是第二步。 :)