Intereting Posts
Запрет сеанса истек в сеансе PHP для неактивных пользователей PHP-сессии Войти с помнить меня PHP Codeigniter – parent :: __ construct загрузите текстовый файл вместо открытия в браузере PHPUnit Текущий список узлов пуст Пользовательский агент CURL Как установить флажок «verify_peer_name = false» параметр контекста SSL через php.ini в PHP 5.6 PHP Force Загрузить причинение 0 байт файлов Возврат списка цепочек и последнего сообщения каждого сообщения с использованием базы данных php и mysql PHP – как использовать $ timestamp для проверки, является ли сегодня понедельник или 1 месяц? TYPO3: добавление пользовательских функций набора в контроллер расширения Laravel 4.2 и AJAX POST – 500 Внутренняя ошибка сервера PHP: Есть ли какая-то санитарная обработка, которая мне нужна для использования данных _GET? Область видимости и функции Создать php fom выбрать несколько значений, взятых из таблицы bd

mysql_select_db () ожидает, что параметр 2 будет ресурсом, объект указан

Я новичок в использовании PHP. Я сделал что-то простое, чтобы подключиться к MySQL и выбрать базу данных:

$conn = mysqli_connect($db_host, $db_admin, $db_pass) or die(mysql_error()); // these variables are previously declared and initialized $selected_db = mysql_select_db($db_name, $conn) or die(mysql_error()); 

Когда я протестировал его, я получил успешно установленное соединение и следующее предупреждение:

 mysql_select_db() expects parameter 2 to be resource, object given 

Почему это случилось? Как я могу это исправить?

Вы используете как mysqli и mysql просто меняете

mysql_select_db()

С

 mysqli_select_db 

Ссылка http://php.net/manual/en/mysqli.select-db.php

updated

Когда вы используете mysql_select_db вы должны использовать mysql api, поэтому вам нужно exatibilish подключение к базе данных с помощью mysql sintax mysql_connect Reference

Mysql теперь устарел, поэтому правильно использовать mysqli или PDO

В дополнение к использованию mysqli_ * последовательно (как упоминалось в ответе Фабио ), есть дополнительная проблема (и предложение):

  • Хотя порядок параметров в mysql_select_database – это имя базы данных, соединение, порядок параметров в mysqli_select_db – это соединение, имя базы данных.

     mysqli_select_db($conn, $db_name); 
  • В качестве предложения mysqli_connect включает дополнительный четвертый параметр для подключения к конкретной базе данных. Это позволит вам вообще не вызывать mysql_select_db .

     $conn = mysqli_connect($db_host, $db_admin, $db_pass, $db_name) or die(mysqli_connect_error()); 

Вы должны изменить mysql_select_db на mysqli_select_db как указано в Fabio но вы получите сообщение об ошибке

 mysqli_select_db() expects parameter 1 to be mysqli, string given 

Для кого-то, испытывающего это, измените порядок параметров, например, в этом случае дайте

 $selected_db = mysqli_select_db($conn, $db_name)