В PHP 7, когда я пытаюсь подключиться к настроенному Beanstalk, я получаю сообщение об ошибке:
Fatal error: Uncaught Error: Class 'mysql' not found in C:\Apache24\htdocs\php_file.php, Stack trace: #0 {main} thrown in C:\Apache24\htdocs\php_file.php on line 41.
Этот сервер использует AWS RDS под управлением MYSQL, и я использую apache 2.4 для локального хоста (для тестирования).
Код, который я использую:
$servername = "MY BEANSTALK CONNECTION";
$username = "Username";
$password = "PSSWD";
$dbname = "DBNAME";
$conn = new mysql($servername, $username, $password, $dbname);
$sql = "SELECT * FROM column";
$result = $conn->query($sql);
$conn->close();
В моем обновленном коде используется mysqli, но по-прежнему возникает та же ошибка.






Вместо этого используйте mysql_connect($servername, $username, $password).
Из документации PHP класс mysql устарел, начиная с версии 5.5, и удален в версии 7. поэтому вы получаете сообщение об ошибке class not found.
Попробуйте использовать mysqli. В документации по PHP есть хорошие примеры по этому поводу. Посмотрите на пример 2. Я вставил часть примера в этот пост для вас.
https://www.php.net/manual/en/function.mysql-connect.php
<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
$res = $mysqli->query("SELECT 'choices to please everybody.' AS _msg FROM DUAL");
$row = $res->fetch_assoc();
echo $row['_msg'];
?>
Проблема связана с экземпляром RDS или вашим локальным экземпляром?
mysql_connectустарела в версии 5.5 и удалена в PHP 7.0 в пользу использованияmysqli_connect. В данном конкретном случае Люк спрашивал о PHP 7.