微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

没有选择数据库 – PHP和MySQL

我正在尝试连接到我的数据库,当我运行代码时,我收到一个错误.任何人都能告诉我 PHP代码中的错误是什么问题吗?谢谢.
Error: No database selected

PHP代码

include('.conf.PHP');
$prof = $_GET['profile'];
$prof = addslashes(htmlentities($prof));
$query = "SELECT * FROM aTable where id = '".MysqL_real_escape_string($prof)."'";
$info_array = MysqL_query($query,$con) or die (MysqL_error()).;

while($row = MysqL_fetch_array( $info_array )) 
{
    echo $row['num1'];
    echo "</br>";
    echo $row['num2'];
    echo "</br>";
    echo $row['num3'];
    echo "</br>";
    echo $row['num4'];
};

MysqL_close($con);

.conf.PHP文件

<?PHP
    $conf['db_hostname'] = "xxx";
    $conf['db_username'] = "xxx";
    $conf['db_password'] = "xxx";
    $conf['db_name'] = "xxx";
    $conf['db_type'] = "MysqL";

    $con = MysqL_connect('xxx','xxx','xxx') or die (MysqL_error());
    $db  = MysqL_select_db("aTable",$con);
?>

解决方法

除非您的密码不正确并需要修复它,否则请运行GRANT语句以授予对数据库用户的访问权限:
GRANT ALL PRIVILEGES ON aTable.* TO xxx@localhost IDENTIFIED BY 'password_for_xxx';

以上授予所有特权.通常最好只限制所需的内容.例如,如果您只打算SELECT,而不是修改数据,

GRANT SELECT ON aTable.* TO xxx@localhost IDENTIFIED BY 'password_for_xxx';

更新

由于您已将数据库名称标识为dedbMysqL,因此请将MysqL_select_db()调用更改为:

$db = MysqL_select_db("dedbMysqL",$con);

在此之后,上面的GRANT语句可能是不必要的,因为您的主机可能已经计算出正确的数据库权限.

原文地址:https://www.jb51.cc/mssql/78031.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐