Mise du site sur le serveur
joncavidulienne
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
Je me permets de reposer ma question :
J'ai créé un moteur de recherche qui fonctionne parfaitement en local. En voici le code:
<?php
include("connect_bdd.php");
$types ="";
$couleur="";
$duree="";
$feuillage="";
$exposition="";
if(isset($_POST['types']))
{
$types = htmlentities($_POST['types']);
$couleur = htmlentities($_POST['couleur']);
$duree= htmlentities($_POST['duree']);
$feuillage = htmlentities($_POST['feuillage']);
$exposition = htmlentities($_POST['exposition']);
$req=$bdd->query( "SELECT nom FROM VEGETAUX WHERE codetype=$types AND codeduree=$duree AND codecouleur=$couleur AND codefeuillage=$feuillage AND codeexposition=$exposition");
if ($data = $req->fetch())
{
do {
echo "<span class=\"affiche\" style=\"color:green;font-weight:bold;font-size:20px;position:relative;left:650px;top:400px;\"><br><br><a href=\"plantes.php?nom=".$data['nom']."\">".$data['nom']."</a></span><br><br>";
}
while ($data = $req->fetch());
}
else
{
echo "<span class=\"affiche\" style=\"color:red;font-weight:bold;font-size:20px;position:relative;left:600px;top:400px;\"><br><br>Aucune plante ne correspond aux critères choisis</span><br><br>";
}
}
?>
Quand je le mets sur un serveur j'ai le message d'erreur suivant:
Fatal error: Call to a member function fetch() on a non-object in /homepages/5/d521608261/htdocs/recherche.php on line 35 .
Pourquoi ce message?
Merci de m'aider
Je me permets de reposer ma question :
J'ai créé un moteur de recherche qui fonctionne parfaitement en local. En voici le code:
<?php
include("connect_bdd.php");
$types ="";
$couleur="";
$duree="";
$feuillage="";
$exposition="";
if(isset($_POST['types']))
{
$types = htmlentities($_POST['types']);
$couleur = htmlentities($_POST['couleur']);
$duree= htmlentities($_POST['duree']);
$feuillage = htmlentities($_POST['feuillage']);
$exposition = htmlentities($_POST['exposition']);
$req=$bdd->query( "SELECT nom FROM VEGETAUX WHERE codetype=$types AND codeduree=$duree AND codecouleur=$couleur AND codefeuillage=$feuillage AND codeexposition=$exposition");
if ($data = $req->fetch())
{
do {
echo "<span class=\"affiche\" style=\"color:green;font-weight:bold;font-size:20px;position:relative;left:650px;top:400px;\"><br><br><a href=\"plantes.php?nom=".$data['nom']."\">".$data['nom']."</a></span><br><br>";
}
while ($data = $req->fetch());
}
else
{
echo "<span class=\"affiche\" style=\"color:red;font-weight:bold;font-size:20px;position:relative;left:600px;top:400px;\"><br><br>Aucune plante ne correspond aux critères choisis</span><br><br>";
}
}
?>
Quand je le mets sur un serveur j'ai le message d'erreur suivant:
Fatal error: Call to a member function fetch() on a non-object in /homepages/5/d521608261/htdocs/recherche.php on line 35 .
Pourquoi ce message?
Merci de m'aider
A voir également:
- Mise du site sur le serveur
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site pour vendre des objets d'occasion - Guide
- Mise en forme conditionnelle excel - Guide
1 réponse
'lut, si le résultat d'un PDO::query n'est pas un objet (d'où le "non-object"), c'est obligatoirement la valeur booléenne FALSE, qui indique que ta requête n'a pas réussi.
Tu dois utiliser PDO::errorInfo après ta requête si elle renvoie
Ça écrira les infos concernant l'erreur dans le code de la page envoyé au client. Après c'est à toi de gérer les erreurs dans ton code.
Tu dois utiliser PDO::errorInfo après ta requête si elle renvoie
falsepour savoir ce qui c'est passé:
$req=$bdd->query( "SELECT nom FROM VEGETAUX WHERE codetype=$types AND codeduree=$duree AND codecouleur=$couleur AND codefeuillage=$feuillage AND codeexposition=$exposition"); if ($req == false) { print_r($bdd->errorInfo()); }
Ça écrira les infos concernant l'erreur dans le code de la page envoyé au client. Après c'est à toi de gérer les erreurs dans ton code.