我正在尝试连接到我的数据库,当我运行代码时,我收到一个错误.任何人都能告诉我
PHP代码中的错误是什么问题吗?谢谢.
Error: No database selected
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);
<?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语句可能是不必要的,因为您的主机可能已经计算出正确的数据库权限.