Page 1 sur 1

pb acces serveur bdd local

Posté : mer. 30 oct. 2019 12:49
par estelle
Bonjour,

J'ai installé un serveur Apache et une bdd Mysql sur mon Pi
Cela fonctionne tres bien sauf que lorsqu’il n'est pas connecté au réseau certaines requêtes ne fonctionnent pas

Code : Tout sélectionner

try:
    r = requests.post("http://192.168.0.50/Service.php", data = data)
    print ("Envoi mise a jour BDD 'mem_mesure': ",r.status_code) 
    print (r.text)  
Merci d'avance

Re: pb acces serveur bdd local

Posté : mer. 30 oct. 2019 12:58
par estelle
j'oubliais

Service.php

Code : Tout sélectionner

<?php
include("Connection.php"); 

$dateheure = $_POST["Date"];
$Nb_p_OK = $_POST["Nb_pieces_OK"];
$Nb_p_NOK = $_POST["Nb_pieces_NOK"];
$Mode = $_POST["Mode"]; ?>
<?php
echo "Mode: ";
echo $Mode;
if ($Mode == "Insert"){
  $sql = "INSERT INTO Service(id, Date, Nb_pieces_OK, Nb_pieces_NOK) VALUES('','$dateheure','$Nb_p_OK','$Nb_p_NOK')";
}
else{
  $sql = "UPDATE Service set Date ='".$dateheure."',Nb_pieces_OK =$Nb_p_OK,Nb_pieces_NOK =$Nb_p_NOK WHERE id=1";
}

// on envoie la requête 
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
 // on ferme la connexion 
mysql_close($link); 
?>

Re: pb acces serveur bdd local

Posté : mer. 30 oct. 2019 13:56
par domi
Bonjour,

Si la base de données, et le serveur Apache sont sur le même Rpi, utiliser plutôt l'adresse interne, cela évite les accès réseaux.

Remplacer son adresse locale : http://192.168.0.50/
Par : http://localhost/
ou par : http://127.0.0.1/

Au choix ;)

Re: pb acces serveur bdd local

Posté : mer. 30 oct. 2019 16:03
par cbalo
Bonjour,
Remplacer son adresse locale : http://192.168.0.50/
Par : http://localhost/
ou par : http://127.0.0.1/
Oui car il est probable que la cause soit le fait que le service MySql refuse la connexion.
MySql gère les connexions par utilisateur ,par hôte et par base de données et souvent par défaut, l'utilisateur n'a le droit qu'à se connecter en localhost.

Mais puisque vous utilisez apache , un petit tour sur les log d'apache (ou php-fpm selon la version de php utilisée) vous donnera la raison exacte du problème.
Et il y a aussi la log de MySQL qui peut donner des infos.

En mode dev, vous pouvez aussi configurer apache pour qu"il affiche directement les erreurs à l'écran plutôt que d'avoir à consulter les log (ça permet à la fin d'avoir un code bien clean sans erreur ni même de warning plus facilement).

Re: pb acces serveur bdd local

Posté : mer. 30 oct. 2019 16:22
par estelle
ok merci

Re: pb acces serveur bdd local

Posté : mer. 30 oct. 2019 20:27
par domi
Bonjour,

Je crois que tu vas trop loin cbalo ;)
tu vas perdre les débutants :lol:

Si j'ai bien compris le problème initiale est :
- Apache et MySQL sur le même Rpi.
- Lorsqu'il est connecté au réseau, l'accès à la base de données depuis apache par son IP local fonctionne
- Lorsqu'il est déconnecté et utilisé en mode autonome, cela ne fonctionne plus. Ce qui est logique, puisse qu'il n'a plus l'IP du réseau local

Donc pour que cela fonctionne aussi bien en mode connecté, que non connecté, il ne faut pas utiliser l'adresse IP local, mais soit "localhost", soit "127.0.0.1"