connexion base hébergeur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : connexion base hébergeur

Re: connexion base hébergeur

par fll » 21 avr. 2013, 15:15

Bonjour et merci beaucoup!

en fait j'avais mal appelé ma table que j'ai du renommer en la mettant sur l'hébergeur d'où l'erreur!
(je ne vois pas où mettre le sujet en résolu)
Merci encore et bonne fin de weekend!

Re: connexion base hébergeur

par moogli » 21 avr. 2013, 11:47

ha ok,

as tu essayé de faire un query plutôt que prepare (qui n'a pas de sens ici) ?
as tu essayé sans préfixer avec le schéma (inutile aussi, généralement on travaille toujours sur le même schéma)

est tu sur que ton utilisateur à le droit d'accéder a ce schéma et cette table ?

parce que coté requete, si ce n'est pas le nom du schéma qui fait chier il n'y a pas de raison, sauf si le id_continent n'est pas un entier ?
SELECT * FROM photos WHERE id_continent = 1

si id_continent existe sur la table photo, que c'est un entier tu n'a pas d'erreur de syntaxe.

Reste a vérifier les droits de l'utilisateur sur cette table. (grant select)

@+

Re: connexion base hébergeur

par fll » 21 avr. 2013, 09:42

Bonjour

Je l'avais mis entre parenthèse, c'est celle ci :

$requete = "SELECT * FROM carnetdevoyage.photos WHERE id_continent = 1";
$reponse=$pdo->prepare($requete);
$reponse->execute(); (ligne 9)

Re: connexion base hébergeur

par moogli » 20 avr. 2013, 23:12

requête foireuse.

tu n'as pas besoin de préfixer les noms de tables avec le schéma, ça va alléger la syntaxe.

quel est la ligne 9 ?

@+

Re: connexion base hébergeur

par fll » 20 avr. 2013, 21:15

Bonsoir,

j'ai remplacé les mysql par des pdo et j'obtiens cette erreur :

Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: Syntax error or access violation: 1142 SELECT command denied to user '****_admin'@'******' for table 'photos' in /home/a****/public_html/afrique.php on line 9

voici le code utilisé :


$rep_images = "images_upload";
$requete = "SELECT * FROM carnetdevoyage.photos WHERE id_continent = 1";
$reponse=$pdo->prepare($requete);
$reponse->execute(); (line 9)

while ($images = $reponse->fetch())
{

?><h1> <?php echo $images['nom_voyage'];?> par <?php echo $images['identifiant'];?> </h1> <?php

echo "<img width='950' height='450' src='images_upload/".$images['nom']."'> <br/>";
$_SESSION["idphoto"] = $images['id'];

$requete2 = "SELECT * FROM carnetdevoyage.commentaires WHERE commentaires.id_photo = ".$_SESSION["idphoto"]."";

$exec2 =$pdo->prepare($requete2);
$exec2->execute();
while ($comm = $exec2->fetch())
{
?> <p> <?php


echo $comm['date'];?> : <?php echo $comm['identifiant']; ?> : <?php echo $comm['texte'];

?></p> <?php

} ?>
<form action="commenter.php" method="post">
<label for="commentaire">Commentez :</label>
<textarea name="commentaire" rows="3" cols="133"></textarea>
<input type="submit" value="Envoyer"/>
</form><?php

}

Merci de vous penchez sur mon pb!

Re: connexion base hébergeur

par moogli » 20 avr. 2013, 19:58

remplace l'utilisation des fonction mysql_ par l'utilisation de pdo http://www.siteduzero.com/informatique/ ... es-aux-bdd


@+

Re: connexion base hébergeur

par fll » 20 avr. 2013, 18:20

Merci encore pour ta réponse, ligne 9 j'ai ceci :

$exec = mysql_query($requete) or die(mysql_error());
et après je m'en sers pour afficher des images

while ($images = mysql_fetch_assoc($exec))

En tout cas merci d'essayer de m'aider car je suis complètement bloqué

A plus tard!

Re: connexion base hébergeur

par moogli » 20 avr. 2013, 15:21

dans le fichier afrique.php tu a l'utilisation de la fonction mysql_query (ligne 9) or tu créer une connexion avec pdo.
dans ce cas (si pas de mysql_connect) php essai d'utiliser une connexion par défaut (indiquée dans le php.ini).

tu doit donc regarder ce qu'il y a dans ce fichier afrique.php pôur résoudre le problème.

@+

Re: connexion base hébergeur

par moogli » 20 avr. 2013, 15:21

ça viens de se fichier, tu as, dans le fichier afrique.php l'utilisation de la fonction mysql_query (ligne 9) or tu créer une connexion avec pdo.
dans ce cas (si pas de mysql_connect) php essai d'utiliser une connexion par défaut (indiquée dans le php.ini).

tu doit donc regarder ce qu'il y a dans ce fichier afrique.php pôur résoudre le problème.

@+

Re: connexion base hébergeur

par fll » 20 avr. 2013, 14:24

salut,

merci pour ta réponse, j'ai créer un fichier connexion_base.php avec toutes les infos de connexion relatives à mon hébergeur et ce fichier est inclus par un include dans toutes mes pages du coup je ne sais pas trop d'où ça vient...

voici mon fichier de connexion :


<?php
// définition des paramètres de connexion à la base de données
$config_base['hote'] = "***";
$config_base['utilisateur'] = "***_admin";
$config_base['motdepasse'] = "***";
$config_base['nom_base'] = "***_carnet";

// connexion à la base de données
try {
$pdo = new PDO( "mysql:host={$config_base['hote']};
dbname={$config_base['nom_base']}",
"{$config_base['utilisateur']}",
"{$config_base['motdepasse']}");

// afficher les messages d'erreurs pour trouver les erreurs
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

// jeu de caractères : UTF-8
$pdo->query("SET NAMES utf8");
$pdo->query("SET CHARACTER SET utf8");
}
catch (PDOException $exception) {
echo "Connexion échouée : " . $exception->getMessage();
}
?>

j'espère que vous trouverez l'erreur que j'ai du faire dans ce fichier,

Cordialement

Re: connexion base hébergeur

par moogli » 20 avr. 2013, 12:28

salut,


le problème est le même que sur la page de garde tu n'a pas changé le nom d'utilisateur mot de passe pour accéder au sgbd (vérifie l'url aussi).

si c'est infos de connexion sont écrite dans toute les pages je te suggère de mettre sans dans un fichier qui sera inclus dans chaque page.

dernière chose utilise l'extension mysqli plutôt que l'extension mysql (cf doc de l'extension mysql) ;)

@+

connexion base hébergeur

par fll » 20 avr. 2013, 09:02

Bonjour,

J'ai transféré mon site chez un hébergeur (hostinger) en modifiant le fichier qui permet la connexion à la base de donnée. Sur la page d'accueil je n'ai plus de message d'erreur tandis que sur les autres pages j'ai un erreur me disant que l'accès a été refusé pour l'utilisateur local@root alors que mon no d'utilisateur n'est plus root et je ne suis plus en local donc je pense que ça vient des privilège accordés pour la base de donnée mais je n'arrive pas à y accéder à cette page en cliquant sur la maison sur la gauche depuis le phpmyadmin de l'hébergeur, la page reste blanche.

Voici l'erreur dans son intégralité :

Warning: mysql_query(): Access denied for user 'root'@'localhost' (using password: NO) in /home/****/public_html/afrique.php on line 9 Warning: mysql_query(): A link to the server could not be established in /home/****/public_html/afrique.php on line 9 Access denied for user 'root'@'localhost' (using password: NO)

J'espère que vous trouverez un solution,

Merci par avance