我试图连接到我的数据库,当我运行代码时,出现错误。谁能告诉我我的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
GRANT ALL PRIVILEGES ON aTable.* TO xxx@localhost IDENTIFIED BY 'password_for_xxx';
以上授予所有特权。通常最好只限制需要的内容。例如,如果您仅打算选择而不是修改数据,
GRANT SELECT ON aTable.* TO xxx@localhost IDENTIFIED BY 'password_for_xxx';
由于您将数据库名称标识为dedbmysql,因此将mysql_select_db()调用更改为:
dedbmysql
mysql_select_db()
$db = mysql_select_db("dedbmysql", $con);
之后GRANT,由于您的主机可能已经计算出正确的数据库权限,因此上面的语句可能是不必要的。