我试图从mySql中的特定行ID获得'内容'值,我在PHP中回应了结果,但我得到了"拒绝用户访问" @'localhost'(使用密码:NO)"。我试图检查我的查询在phpMyAdmin,我得到了我所期望的确切结果。
下面是我的代码:$con = mysql_connect("localhost", "XXX", "XXX") or die (mysql_error());
$db = mysql_select_db("XXX", $con) or die (mysql_error());
function head($d) {
$query = mysql_query("SELECT Content FROM list WHERE ID = '$d'") or die(mysql_error());
$post = mysql_fetch_assoc($query);
echo $post["Content"];
}
<h1> <?php head(1); ?> </h1>
您引用的错误消息听起来像数据库尚未连接,当您进行调用。如果没有连接存在,mysql_query()
将尝试使用默认值(通常为空)建立连接。
您应该检查您的程序流程,并确保您在进行任何查询之前实际连接到数据库。
将前两行移到函数中:
function head($d) {
$con = mysql_connect("localhost", "XXX", "XXX") or die (mysql_error());
$db = mysql_select_db("XXX", $con) or die (mysql_error());
$query = mysql_query("SELECT Content FROM list WHERE ID = '$d'") or die(mysql_error());
$post = mysql_fetch_assoc($query);
echo $post["Content"];
}
<h1> <?php head(1); ?> </h1>
问题是
mysql_connect("localhost", "ncode_hana", "NOAM7778")
检查SQN用户和pass是否正确,并且该用户对您选择的数据库具有权限…
还有,永远不要和别人分享你原来的用户名和密码。
也,正如Pekka告诉你的,你需要这样的东西
<h1> <?php include('yourdatabaseconnectionfile.php'); ?> <?php head(1); ?> </h1>
或者
<?php
$con = mysql_connect("localhost", "XXX", "XXX") or die (mysql_error());
$db = mysql_select_db("XXX", $con) or die (mysql_error());
<h1> <?php head(1); ?> </h1>
function head($d) {
$query = mysql_query("SELECT Content FROM list WHERE ID = '$d'") or die(mysql_error());
$post = mysql_fetch_assoc($query);
echo $post["Content"];
}
多一个选项在函数中添加连接字符串(不推荐)
function head($d) {
mysql_connect("localhost", "ncode_hana", "NOAM7778");
$query = mysql_query("SELECT Content FROM list WHERE ID = '$d'") or die(mysql_error());
$post = mysql_fetch_assoc($query);
echo $post["Content"];
}