Я создал PHP, MySQL и Apache. localhost()
для PHP, и он работает хорошо. Но после того, как я загрузил MySQL, он сообщает:
Неустранимая ошибка: вызов функции undefined mysql_connect()
Как я могу это исправить?
Я создал PHP, MySQL и Apache. localhost()
для PHP, и он работает хорошо. Но после того, как я загрузил MySQL, он сообщает:
Неустранимая ошибка: вызов функции undefined mysql_connect()
Как я могу это исправить?
Откройте терминал и выполните команду ниже.
sudo apt-get install mysql-server
Если вы используете PHP, вам также потребуется установить php-модуль для mysql 5:
sudo apt-get install php5-mysql
Если вы получили эту ошибку после обновления до PHP 7.0, вы используете устаревшие библиотеки.
mysql_connect - открыть соединение с сервером MySQL
Предупреждение
Это расширение было устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0. Вместо этого следует использовать расширение MySQLi или PDO_MySQL.
Подробнее здесь: http://php.net/manual/en/function.mysql-connect.php
Используйте "mysqli_connect"
$con = mysqli_connect("127.0.0.1","root","pass","your_database");
он будет работать, я исправил свою проблему с этим.
Убедитесь, что ваша установка PHP была скомпилирована с поддержкой mysql. Создайте тестовую веб-страницу, содержащую <?php phpinfo(); exit(); ?>
, и загрузите ее в свой браузер. Найдите страницу для MySQL. Если вы этого не видите, вам нужно перекомпилировать PHP с поддержкой MySQL или переустановить пакет PHP, который имеет встроенный
PHP.INI
Проверьте, не забыли ли вы включить параметры ниже (загружает модули для mysql среди других):
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
Используйте.
<?php $con = mysqli_connect('localhost', 'username', 'password', 'database'); ?>
В PHP 7. Вероятно, у вас есть PHP 7 в XAMPP. Теперь у вас есть два варианта: MySQLi и PDO.
У меня была такая же проблема на RHEL6. Оказывается, файл mysql.ini в /etc/php.d имел только имя модуля, но ему нужно было указать полный путь. В моей системе RHEL6 запись работает:
; Enable mysql extension module
extension=/usr/lib64/php/modules/mysql.so
После изменения файла я перезапустил apache и все сработало.
Решением может быть использование таких функций адаптера, как эти, чтобы начать использовать mysqli
вместо mysql
по всему вашему приложению:
if (!function_exists('mysql_connect')) {
function mysql_connect($host = '', $user = '', $password = '', $database = '', $port = 0, $socket = '') {
return mysqli_connect($host, $user, $password, $database, $port, $socket);
}
}
if (!function_exists('mysql_select_db')) {
function mysql_select_db($link, $dbname) {
mysqli_select_db($link, $dbname);
}
}
Эта ошибка подходит только для вашей версии PHP версии 7.0. вы можете избежать этого с помощью PHP v5.0 else
используйте его
mysqli_connect("localhost","root","")
Я сделал только mysqli из mysql
Я использую Windows 8 n, эта проблема была решена путем изменения переменных окружения
выполните следующие действия: Откройте свойства моего компьютера → расширенные параметры системы → переменные среды. В разделе "Системные переменные" выберите "путь" и нажмите "Изменить". В 'variable value' добавьте 'C:\php;' ИЛИ путь, на котором установлена php.
нажмите "ОК" и примените настройки и перезапустите систему. Он должен работать.
Вот быстрое решение:
Все профи, вероятно, ненавидят меня за этот ответ. Но я получил ту же ошибку на сервере: Неустранимая ошибка: Непринятая ошибка: вызов функции undefined mysql_connect(), использующей PHP 7. Не успел переписать весь код mysql, чтобы быстрое, временное исправление, если кому-либо это нужно, в CPANEL искать Конфигурация PHP и изменить версию для этой учетной записи на что-то вроде PHP 5.4 вместо PHP 7. Затем код работал нормально без указанной выше ошибки.
Мое решение здесь (мне нужно было просто удалить последнюю косую черту (NB: обратная косая черта) от PHPIniDir 'c:\PHP\'
): Неустранимая ошибка: вызов функции undefined mysql_connect() не может решить
Проверьте, установлен ли модуль mysqli для вашей версии PHP
$ ls /etc/php/7.0/mods-available/mysql*
/etc/php/7.0/mods-available/mysqli.ini /etc/php/7.0/mods-available/mysqlnd.ini
Включить модуль
$ sudo phpenmod mysqli
Этот код может помочь вам
<?php
$servername = "localhost";
$username = "root";
$password = "";
$con = new mysqli($servername, $username, $password);
?>
Но измените "имя сервера", "имя пользователя" и "пароль"
Если вы используете Windows10, PHP 7.2 и попробуйте подключиться к mysql. Если эта ошибка произошла
Uncaught Error: вызов неопределенной функции mysqli() в
Выполните следующие действия, чтобы исправить это.
Надеюсь, это кому-нибудь поможет.
Проблема возникает, когда вы используете mysql_connect
в своих кодовых строках, поэтому просто добавьте ее, как в mysqli_cOnnect
, и она решит проблему.
вам также необходимо использовать mysqli
на всех ваших кодовых строках или проблема снова появится.
пример mysql_select_db
будет mysql_select_db
.
Это для выбора базы данных.
Спасибо, что это помогает