Bonjour,
Le code ci-dessous ne fonctionne pas à partir de la zone en rouge,
Il me met une erreur :

Call to a member function bindParam() on a non-object

Je ne comprend pas pourquoi car pourtant tout à l'air bon j'ai tapé la requette ds phpmyadmin, elle est correct, mais la elle ne veut pas s'exécuter

$db = connexion::getInstance();
$conn = $db->getDbh();
ces deux ligne de dessus servent à intencier la classe PDO;
Ce fonctionne très bien , car pour d'autres section de mon application tout est bon.
Il n'y a que la.

Peut être il aime pas les 2 update qui s'éxécute l'un après l'autre.

Mais bon j'ai quand même besoin de fair eun update sur 2 table différente


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
   function update($idrub,$intitule,$title,$menu,$description,$keyword,$type,$idcontien){//mise à jour
       $db = connexion::getInstance();
        $conn = $db->getDbh();
    
 $up="UPDATE rubrique SET
`INTITULE`=:intitule,
`NIVEAUX`=:niveaux,
`TYPE`=:type,
`MENU`=:menu,
`TITLE`=:title,
`KEYWORD`=:keyword,
`DESCRIPTION`=:description,
`URL`=:url
WHERE ID_RUBRIQUE=:idrub";
$requp=$conn->prepare($up);
$requp->bindParam('idrub',$idrub);
$intitule=stripslashes($intitule);
$title=htmlentities(stripslashes($title),ENT_NOQUOTES,'UTF-8');
$menu=stripslashes($menu);
$description=htmlentities(stripslashes($description),ENT_NOQUOTES,'UTF-8');
$keyword=htmlentities(stripslashes($keyword),ENT_NOQUOTES,'UTF-8');
$requp->bindParam('menu',$menu);
$requp->bindParam('intitule',$intitule);

/*recuperation du menu parent DEBUT*/
    $selniv="SELECT NIVEAUX FROM rubrique WHERE rubrique.ID_RUBRIQUE=:contien";
    $reqiniv=$conn->prepare($selniv);
    $reqiniv->bindParam('contien',$idcontien);
    $reqiniv->execute();
    $niv=$reqiniv->fetch(PDO::FETCH_BOTH);//on recupere le niveaux du menu parent dans un tableau
/*recuperation du menu parent FIN*/

if($niv['NIVEAUX']==0){
   $niveau=1;
}else{
$niveau= $niv['NIVEAUX']+1;}

$requp->bindParam('niveaux',$niveau);
$requp->bindParam('type',$type);
$requp->bindParam('title',$title);
$requp->bindParam('keyword',$keyword);
$requp->bindParam('description',$description);
$url=html_entity_decode($menu);
$url=rubrique::stripAccents($url);
$url=strtolower($url);
$url=str_replace("'","",str_replace(' ','_',$url));
$requp->bindParam('url',$url);
$requp->execute();

$up2="UPDATE contien SET
contien.ID_RUBRIQUE_1=:contien
WHERE contien.ID_RUBRIQUE=:idrub";
$requp2=$conn->prepare($up2);
echo $idrub.'-'.$idcontien;
$requp2->bindParam('contien',$idcontien);
$requp2->bindParam('idrub',$idrub);
$requp2->execute();
    }
Si vous pouviez m'aider

Cordialement Guillaume Escande