Я выбрал базу данных, но по какой-то странной причине она все еще говорит, что она не выбрана.
Линии подключения:
$location = "localhost"; $user = "user"; $pass = "pass"; //Database Selection $link = mysql_connect($location, $user, $pass); if (!$link) { die('Could not connect: ' . mysql_error()); } //Database Selection mysql_select_db('database') or die(mysql_error());
Запрос:
while ($row_fpages = mysql_fetch_array($result_fanpage)) { if ( $row_fpages['client'] == NULL ) { //GRAPHS $sql = "SELECT date, likes FROM statistics_pages WHERE idnum='".$_COOKIE['id']."' AND page_name = ".$row_fpages['page_name']." LIMIT 7"; $result_apps = mysql_query($sql) or die(mysql_error());
И ошибка – это обычная No database selected
.
Я никогда не видел эту ошибку раньше, и я пытался изменить много вещей, но просто не работал.
Вы забыли передать переменную $ link в качестве параметра ссылки.
mysql_select_db('database', $link) or die(mysql_error());
EDIT: попробуйте передать базу данных в параметр FROM, например
SELECT * FROM `database`.`table`
Могут ли быть разрешения пользователя mysql на выбранную базу данных?
Другая причина, по которой появляется эта ошибка, заключается в том, что имя пользователя и пароль, которые вы используете для доступа к базе данных, могут не иметь соответствующих перехватов чтения / записи . Особенно на общем сервере хостинга вам необходимо назначить соответствующее имя пользователя соответствующей базе данных. Я недавно столкнулся с этой проблемой, я создал новую базу данных и забыл назначить persmissions для моего существующего имени пользователя.
Проверьте, добавили ли вы пользователя в db и дали ему соответствующие разрешения.
Убедитесь, что ваш код не вставлен в классы и прочее, если он представлен только как есть, то, возможно, «база данных» недействительна, дважды проверьте свои значения и попробуйте сделать его внешней переменной.
SOLVED Используйте `backticks для зарезервированных слов MYSQL … ваше имя таблицы зарезервировано для MYSQL … Измените название своей таблицы.