Lire base de donnée à distance avec un html php

Résolu/Fermé
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023 - Modifié le 5 juin 2021 à 20:36
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023 - 6 juin 2021 à 15:43
Bonjour à tous,

Je passe mon Bts SN IR par le cned
Je dois créer une interface web pour mon projet dans 10 jours. Elle doit récupérer les infos d'une base de donnée phpMyAdmin.
Le lycée m'a donné l'adresse ip, utilisateur, mdp et port 3306, j'arrive à me connecter sur la base de données en http mais j'arrive pas à récupérer quoi que ce soit en html php...
J'ai suivi tous les tutos sur le net (où ils utilisent localhost) en remplaçant par mes identifiants rien y fait. Avec ou sans port c'est pareil.Est-ce que vous pourriez m'aider svp...








Configuration: Windows / Chrome 91.0.4472.77
A voir également:

7 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 juin 2021 à 20:37
Bonjour
Déjà, pour poster du code sur ce forum, il faut le faire en le collant et en utilisant les balises de code.
Explication à lire entièrement, disponibles ici
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, de ce que j'ai pu apercevoir sur tes images, tu utilises l'ancien extension MySQL.
Elle est obsolète il ne fonctionne plus avec les nouvelle version de PHP.
Tu dois donc utiliser mysqli ou PDO.

Bien entendu, pour se connecter à une base de données distante, il faut que le user MySQL dispose des droits nécessaires...

Pour vérifier, tu peux utiliser un logiciel comme heidisql et ainsi, voir si les identifiants fonctionnent à distance.
Si ça ne marche pas, il va falloir, à condition que tu dispose des droits nécessaires, donner l'accès à ton user depuis l'extérieur. (Mais là on sort du PHP, thème de ce forum...).

Ne peux-tu pas simplement faire un export de la base de données et là rien porter en local sur ton ordi ?
Ou alors accéder en FTP au fichier source du site sur le serveur où se trouve la base et y mettre ton développement à toi ?

0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
5 juin 2021 à 21:54
Merci pour ta réponse rapide !

Alors j'ai essayé de me connecter avec Mysql query browser et en fait déjà j'avais bloqué mon ip (trop de tentatives de connexions infructueuses). Du coup je me suis connecté en 4G j'ai récupéré la bdd, j'ai un localhost.sql. Je l'ai mis dans le dossier de mon php et ai rentré 'localhost' , 'root' , '' mais ça ne fonctionne toujours pas.

Où faut-il mettre le fichier localhost.sql ?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 juin 2021 à 22:00
Il ne suffit pas de mettre un fichier SQL sur ton serveur pour que ça fonctionne.
Tu dois importer ce fichier SQL dans une base de données MySQL.
Si tu n'en n'as pas installé sur ton ordinateur, tu peux en émuler via un logiciel tel que l'Aragon ou wamp ou mamp ...
Ça te sera de toute façon indispensable pour pouvoir faire fonctionner ton code PHP.
0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
6 juin 2021 à 10:37
Alors j'ai réussi avec ce code en installant xampp et en important ma bdd dans localhost/phpMyAdmin mais cela ne fonctionne qu'en mettant mon fichier dans C:\xampp\htdocs\mondossier et en allant le chercher dans mon navigateur dans localhost/mondossier mais comment je peux le faire fonctionner avec la bdd à distance ?
<?php
$host = 'localhost';
$dbname = 'stations_meteo';
$username = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$dbname";
// récupérer tous les utilisateurs
$sql = "SELECT id, longitude, latitude FROM site WHERE id=1";

try{
$pdo = new PDO($dsn, $username, $password);
$stmt = $pdo->query($sql);

if($stmt === false){
die("Erreur");
}

}catch (PDOException $e){
echo $e->getMessage();
}
?>
<!DOCTYPE html>
<html>
<head>Afficher la table users</head>
<body>
<h1>Liste des utilisateurs</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<?php while($row = $stmt->fetch(PDO::FETCH_ASSOC)) : ?>
<tr>
<td><?php echo htmlspecialchars($row['id']); ?></td>
<td><?php echo htmlspecialchars($row['longitude']); ?></td>
<td><?php echo htmlspecialchars($row['latitude']); ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</body>
</html>
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 juin 2021 à 14:13
On en revient à ma première réponse...
L'utilisateur que tu as pour ta base de données permet-il les connexions à distance ?
0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
6 juin 2021 à 14:25
Si je m'y connecte avec MySql Query Browser j'arrive à la lire. C'est qu'elle permet les connexions à distance non ?

Mais ce que je ne comprend pas c'est pourquoi mon code fonctionne en localhost/mondossier dans le navigateur comme décrit plus haut mais ne fonctionne pas en exécutant simplement monfichier.php en cliquant dessus en partant du dossier windows . Pourquoi ?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 juin 2021 à 14:30
par ce que PHP a besoin d'être "exécuté" pour pouvoir interpreter les instructions en code "php"....
Ce que fait xampp lorsque tu places les fichiers dans le dossier httdocs.
C'est le fonctionnement "normal" ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
Modifié le 6 juin 2021 à 14:41
D'accord. Donc si j'ai une interface web .html qui fait appel à un .js qui envoie une requête ajax à un php pour lui demander des infos de la bdd.
Comment je dois procéder pour faire fonctionner ce .html avec ma bdd à distance ?
0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
6 juin 2021 à 14:56
Dans tous les cas il faut que le .php se trouve sur un serveur possédant un interpréteur php pour être exécuté si j'ai bien compris ?
Donc mon interface web je ne peux la faire fonctionner qu'avec xampp dans le dossier htdocs ou alors avec un serveur distant en hébergeant le .php dessus c'est ça ?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 juin 2021 à 15:27
Oui
0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
6 juin 2021 à 15:43
Ok j'ai tout compris ! J'ai réussi à faire fonctionner mon code avec la bdd à distance.

Merci beaucoup pour ton aide !
0