Я пытаюсь подключиться к моей базе данных, и когда я запускаю код, я получаю сообщение об ошибке. Может ли кто-нибудь сказать мне, что не так, и какие-либо ошибки в моем 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);
в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
, вероятно, не нужны, так как ваш хост, возможно, уже разработал правильные разрешения базы данных.
У меня была эта проблема и она была решена с префиксом имени таблицы с именем базы данных, поэтому
select * from database.table