Четвертый параметр для mysql_connect()
не является именем базы данных. Это логическое значение, указывающее, устанавливать ли дополнительное новое соединение или использовать существующее. Чаще всего это опускается. Используйте mysql_select_db()
для выбора базы данных. Поскольку вы не выбрали базу данных в своем коде, ваш запрос, скорее всего, не выполнен.
$db = mysql_connect('localhost', 'root', 'root');
if (!$db) echo mysql_error();
else mysql_select_db("database");
Примечание. Я удалил @
из вызова mysql_connect()
. @
подавляет ошибки и, возможно, мешает вам увидеть, что происходит с вашим соединением.
При проверке успешности или неудачи запроса не die()
. Вместо этого выводите mysql_error()
при разработке приложения. В производстве вы можете заменить echo
, написав вместо этого error_log()
.
if (!$result) {
echo mysql_error();
}
Что касается использования MySQLi вместо базовых функций mysql_*
, MySQLi можно использовать объектно-ориентированным способом, а также предлагает подготовленные операторы, которые могут быть как более эффективными, так и более безопасными. Как уже упоминалось в комментариях выше, PDO часто рекомендуется как наиболее гибкий API для взаимодействия с СУБД из PHP.