Lire base de donnée à distance avec un html php
Résolu
ceda13
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
ceda13 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
ceda13 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
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...




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:
- Lire base de donnée à distance avec un html php
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Allumer pc à distance - Guide
- Base de registre - Guide
- Comment lire un message supprimé sur whatsapp - Guide
7 réponses
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 ?
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 ?
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 ?
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 ?
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.
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.
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>
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 ?

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 ?

Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
Comment je dois procéder pour faire fonctionner ce .html avec ma bdd à distance ?