Я использую метод POST, чтобы вставить некоторые данные в БД на моем сервере. Это мой файл connection.php, который хранится в моем http://www.url.com/public_html.
<?php
$servername = "http://www.url.com";
$username = "db_username";
$password = "db_password";
$databaseName = "db_name";
$connect = new mysqli($servername,$username,$password,$databaseName);
if ($connect->connect_error) {
die("Connection failed: " . $connect->connect_error);
}
echo "Connected successfully";
?>
Это файл insert.php, также хранящийся в http://www.url.com/public_html что я использую, чтобы вставить данные в базу данных.
<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
require'connection.php';
createStudent();
}
function createStudent(){
global $connect;
$name = $_POST["name"];
$lastname = $_POST["lastname"];
$age = $_POST["age"];
$query="INSERT INTO `demo` ( `name` , `lastname` , `age` )
VALUES ('$name','$lastname','$age')";
mysqli_query($connect,$query)or die (mysqli_error($connect));
mysqli_close($connect);
}
?>
Я использую почтальон, и мое приложение для Android, чтобы проверить это, но я получаю:
Ошибка подключения: php_network_getaddresses: getaddrinfo ошибка: имя или служба не известна ошибка.
Я не разработчик PHP, но я не вижу ошибок в моих файлах PHP, поэтому любая помощь будет приветствоваться.
Заранее спасибо.
Значение, которое вы указали для $servername
это не имя хоста, а скорее URL или имя ресурса. Имя хоста будет просто www.url.com
,
Конечно, как вы уже обнаружили, localhost
правильное имя хоста, если клиент и сервер находятся в одном и том же окне.
Спасибо, Прерак,
Это ответ, моя база данных находится на той же машине, поэтому мне просто нужно отредактировать:
$servername = "localhost"
Теперь все работает просто отлично.
Внести изменения в файл ниже config-db.php
nano /etc/phpmyadmin/config-db.php
изменить сервер базы данных как локальный
$dbserver='localhost';
Это работает для меня.