J'utilise la méthode POST pour insérer des données à la base de données sur mon serveur. C'est mon fichier connection.php qui est stocké dans mon 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";
?>
C'est un fichier insert.php également stocké dans http://www.url.com/public_html que j'utilise pour insérer des données dans une base de données.
<?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);
}
?>
J'utilise postman, et mon application Android pour tester cela, mais je reçois: La connexion a échoué: php_network_getaddresses: getaddrinfo a échoué: le nom ou le service n'est pas connu d'erreur.
Je ne suis pas un développeur php mais je ne vois aucune erreur dans mes fichiers php, donc toute aide sera la bienvenue.
Merci d'avance.
Merci Prerak,
C'est la réponse, ma base de données est sur le même ordinateur, il me fallait donc éditer
$servername = "localhost"
Maintenant tout fonctionne bien.
La valeur que vous avez spécifiée pour $servername
n'est pas un nom d'hôte, mais plutôt une URL ou un nom de ressource. Le nom d'hôte serait simplement www.url.com
.
Bien entendu, comme vous l'avez déjà découvert, localhost
est le nom d'hôte correct si le client et le serveur résident sur la même boîte.
Apporter des modifications dans le fichier ci-dessous config-db.php
nano /etc/phpmyadmin/config-db.php
changer le serveur de base de données en localhost
$dbserver='localhost';
Cela fonctionne pour moi.