Erreur Call to a member function prepare() on a non-object in

Résolu/Fermé
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013 - 17 janv. 2013 à 14:50
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013 - 17 janv. 2013 à 20:45
Bonjour,

je me permet de vous demander de l'aide concernant un problème de récupération d'une valeur select de mon formulaire afin de modifier ma base de donnée.
Ma requête me renvoie une erreur :
Fatal error: Call to a member function prepare() on a non-object in /homepages/33/d163956901/htdocs/bulledeweb/mgi/boreales/modif.php on line 24

Voila mon code formulaire :

<form method="post" action="modif.php">
   <p>
           <select name="boreales002">
           <option value="Optionné">Optionné</option>
           <option value="disponible">Disponible</option>
	   <option value="Vendu">Vendu</option>
           
       </select>
   </p>
<input type="submit" value="Envoyer" />
</form>


Et mon code php de requête :

<?php
//On déclare les variables pour pouvoir se connecter à sa base
 
$nom_du_serveur ="db448704934.db.1and1.com";
$nom_de_la_base ="db448704934";
$nom_utilisateur ="dbo448704934";
$passe ="ephemere";
 
//Variable de connexion à la base de données
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
 
//Vérification d'accès à la base de données
 
mysql_select_db("$nom_de_la_base") or die("Impossible d'ouvrir la base de données ");


$boreales002     = $_POST["boreales002"];

//modif satut


$req = $bdd->prepare('UPDATE boreales SET statut = :nvstat WHERE id = 1');
$req->execute(array(
    'nvstat' => $boreales002
));

 
// On ferme la connexion
 
// mysql_close();
 ?>


Merci pour voter aide







11 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
17 janv. 2013 à 14:54
Salut,

je te conseille de commencer par retirer les codes d'accès à ta base de données...
Ensuite, tu n'instancies nulle part ta variable $bdd, c'est normal ?
0
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 15:07
Bonjour ,

Bien merci je change de suite le code d'accès.
Je viens de me rendre compte et je te remercie que oui je n'instancies pas .
Que me conseille tu comme code pour le faire ?
Je te remercie je suis vraiment un novice de base de donnée
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
17 janv. 2013 à 15:12
Et bien je ne connais pas ton code, ni les variables que tu essayes de manipuler au moment de ta requête, mais elles ont l'air de ne pas exister ici.

tu peux essayer un code du genre :

$req = "UPDATE boreales SET statut = '$boreales002' WHERE id = 1";
$res = mysql_query($req);
if (!$res) die('Requête invalide : ' . mysql_error());


je pense que ça devrait fonctionner
0
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 15:17
Je crois que je n'ai pas du bien comprendre le fonctionnement de cette fonction .
En faite je récupere la valeur de la fonction "select" du formulaire appelé : boreales002.

Cette valeur je lui donne le nom de variable de "nvstat".

Je fait apres une requete pour modifier la base de données .

Est ce bien cela ?
0

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

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
17 janv. 2013 à 15:24
tu n'as toujours pas retiré tes accès à ta base de données, si tu les laisses, tu risques des soucis...

$nom_du_serveur ="******";
$nom_de_la_base ="********";
$nom_utilisateur ="********";
$passe ="*******";


sinon je pense que tu as à peu près compris le principe, la syntaxe que tu utilises, je ne la connais pas, mais il semble manquer quelque chose.

Avec les quelques lignes que je t'ai donné, tu devrais t'en sortir...
0
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 15:27
Merci beaucoup cela fonctionne comment te remercier !!!

Maintenant accepterais tu de m'aider sur un deuxième point !!.

Je voudrais maintenant une fois que la personne a modifier le statut en par exemple "optionné" par le formulaire et que la base de donné est modifié .

Je dois faire apparaître dans un champ de texte cette nouvelle valeur .

As tu une idée sur le code ?

Merci d'avance
0
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 15:30
Je viens de modifier le code
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
17 janv. 2013 à 15:39
Comment me remercier ? fastoche ! Envoie moi un chèque ;)

Avec un système simple tu pourrais avoir quelques chose comme ça, après à toi d'adapter et de mettre ça ou tu veux...

<?php
//On déclare les variables pour pouvoir se connecter à sa base
 
$nom_du_serveur ="*****";
$nom_de_la_base ="*****";
$nom_utilisateur ="*******";
$passe ="******";
 
//Variable de connexion à la base de données
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
 
//Vérification d'accès à la base de données
 
mysql_select_db("$nom_de_la_base") or die("Impossible d'ouvrir la base de données ");

$req = "SELECT nvstat FROM boreales WHERE id = 1";
// après le WHERE, je mets ça par déduction vu ton update d'avant...
$res = mysql_query($req);
if (!$res ) die('Requête invalide : ' . mysql_error());
list($nvstat) = mysql_fetch_array($res);

echo "le status est : " . $nvstat;

?>


j'ai fais ça à main levée, mais ça devrait fonctionner...
0
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 16:01
Merci beaucoup pour ton aide je teste cela .
Comment intégrer ce code php dans du html d'après toi. Car si je crée un champ de formulaire et integre le php le navigateur ne fait qu'afficher le code ?

Désolé je suis plein de question
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
17 janv. 2013 à 16:03
c'est bien de poser des questions...

il faut renommer ton fichier en monfichier.php, c'est l'extension .php qui va dire au serveur d'interpréter le code qu'il y a dedans au lieu de te l'afficher directement dans le cas du html.
0
barryblanc17 Messages postés 10 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 20:45
Merci à toi tout fonctionne parfaitement . Sujet résolu
0