当前位置: 代码迷 >> PHP >> mysql_query老是查不到数据
  详细解决方案

mysql_query老是查不到数据

热度:606   发布时间:2016-04-28 18:45:11.0
mysql_query总是查不到数据

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpassword = "";
$dbdatabase = "blogtastic";

$config_blogname = "Funny old world";
$config_author = "Pengsc";

$config_basedir = "htpp://127.0.0.1/blogtastic/";
?>

<?php
//require("config.php"); //include config.php
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
if(!$db)
{
die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db($dbdatabase, $db);
if (!$db_selected)
{
die ("Can not use $dbdatabase : " . mysql_error());
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><?php echo $config_blogname; ?></title>
<link rel="stylesheet" href="stylesheet.css" type="text/css" />
</head>

<body>
<!--div居中-->
<div id="header">
<h1><?php echo $config_blogname; ?></h1> <!--设置网页中的标题文字,被设置的文字将以黑体或粗体的方式显示在网页中-->
[<a href="index.php">home</a>]  <!--<a></a>这个标签是HTML中超链接, 输出结果是[home]-->
</div>

<div id="main">
<!--the other mark, in footer-->

<?php
$sq1 = "SELECT entries.*, categories.cat From entries, categories
WHERE entries.cat_id = categories.id
ORDER BY dateposted DESC
LIMIT 1;";
mysql_query("set names 'utf8'"); //数据库输出编码 应该与你的数据库编码保持一致.南昌网站建设公司百恒网络PHP工程师建议用UTF-8 国际标准编码. 
$result = mysql_query($sql, $db);//执行一条 MySQL 查询
if($result)
{
echo "<p>ctergories and entries</p>";
echo "<p>ctergories and entries</p>";
echo "<p>ctergories and entries</p>";
echo "<p>ctergories and entries</p>";
echo "<p>ctergories and entries</p>";
$row = mysql_fetch_assoc($result); //从结果集中取得一行作为关联数组

print_r($row);

echo "<h2><a href=‘viewentry.php?id=" . $row['id']
. "'>" . $row['subject'] . "</a></h2><br />";
echo "<i>In <a href='viewcat.php?id" .  $row['cat_id']
. "‘>" . $row['cat'] . "</a> - Posted on " . date("D jS F Y g.iA", strtotime($row['dateposted'])) . "</i>";
echo "<p>";
echo nl2br($row['body']);
echo "</p>";
}
else
{
print_r($row);
echo "no ctergories and entries";
}

?>

</div>

<div id="footer">
<br /> &copy; <?php echo $config_author; ?>
</div>

</body>
</html>

现在问题是,我直接在数据库中粘贴那个$sql中的查询语句以正常查询,就是通过mysql_query()查不到任何结果,这是什么原因????
------解决方案--------------------
有无错误信息?

$result = mysql_query($sql, $db) or die(mysql_error());  这样写看看是否有报错信息。
------解决方案--------------------
SELECT entries.*, categories.cat From entries, categories
    WHERE entries.cat_id = categories.id
    ORDER BY dateposted DESC
    LIMIT 1

在phpmyadin中执行可以查询到吗?
------解决方案--------------------
$sq1 = "SELECT entries.*, categories.cat From entries, categories
    WHERE entries.cat_id = categories.id
    ORDER BY dateposted DESC
    LIMIT 1;";

去掉LIMIT 1后面那个分号。


------解决方案--------------------
$sq1 = "SELECT entries.*, categories.cat From entries, categories
    WHERE entries.cat_id = categories.id
    ORDER BY dateposted DESC
    LIMIT 1;";

多了;
------解决方案--------------------
先要确定SQL是不是正确连接,如果可以执行一条简单的查询语句看看数据库选择,表前缀是不是正确的,如果这些都是正确的,那就是SQL查询语句有问题
 
如果你是myphpadmin的话把查询条件复制进去执行下,就知道是不是语句错误了