#php #mysql #amazon-web-services #cloud #amazon-rds
Вопрос:
Я помещаю веб-сайт в облако aws, и веб-сайт написан на php. При использовании команды $conn = mysqli_connect($server, $user, $pass, $database);
страница не работает. Как мы используем $conn = new mysqlit($server, $user, $pass, $database);
веб-сайт работает, но он больше не подключается к базе. Есть ли какая-либо разница в этих командах?
Комментарии:
1. Я никогда
mysqlit
раньше не видел. Это опечатка или пользовательский драйвер sqlite?
Ответ №1:
Цель этих команд одна и та же, но это два очень разных подхода к одной и той же цели. В то время как mysqli_connect является процедурным, ‘new mysqli’ создает объект.
На практике это означает, что mysqli_connect можно использовать с другими процедурными командами (такими как mysqli_query). ООП-способ выполнения этого с помощью объекта в настоящее время является предпочтительным методом, но заставляет вас использовать объект для связи с базой данных.
Объектно-ориентированный (ООП):
$conn = new Mysqli($server, $user, $pass, $database);
$result = $conn->query("SELECT * FROM somewhere");
Процедурный:
$conn = mysqli_connect($server, $user, $pass, $database);
$result = mysqli_query($conn,"SELECT * FROM somewhere");
Тем не менее, я бы настоятельно рекомендовал использовать объектно-ориентированный способ для более надежного приложения в будущем. (Я считаю, что процедурный метод на самом деле устарел.)
Более подробную информацию и примеры можно найти здесь: https://www.php.net/manual/en/mysqli .query.php
Комментарии:
1. Я не могу запустить его процедурно с помощью aws rds?
2. Возможно. Попробуйте запустить phpinfo(), чтобы проверить версию и расширения.
Ответ №2:
убедитесь, что пароль и имя пользователя такие же, как в облаке aws