Bonjour à vous,
J'ai pas mal cherché mais je n'arrive décidement pas à me servir des requêtes préparées avec PDO en prog. objet.
Je débute tout juste avec la POO et je tatonne un peu...
Voici ma classe de connexion :
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
 
class BD
{
	private static $conn;
        private $PDOInstance = null;
 
        const DEFAULT_SQL_USER = 'root';
        const DEFAULT_SQL_HOST = 'localhost';
        const DEFAULT_SQL_PASS = '';
        const DEFAULT_SQL_DTB = 'reseaubeaute';
 
 
	private function __construct()
    {
                $this->PDOInstance = new PDO ('mysql:dbname='.self::DEFAULT_SQL_DTB.';host='.self::DEFAULT_SQL_HOST, self::DEFAULT_SQL_USER, self::DEFAULT_SQL_PASS);
    }
 
 
	public static function getConnexion()
    {
		if(is_null(self::$conn))
                {
			self::$conn = new BD();
		}
		return self::$conn;
	}
 
	public function query($query)
	{
		return $this->PDOInstance->query($query);
	}
 
	public function prepare($prepare)
	{
		return $this->PDOInstance->prepare($prepare);
	}
 
	public function exec($exec)
	{
		return $this->PDOInstance->exec($exec);
	}
 
}
et ma petite classe ou je me sers de PDO :
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
 
<?php
class MyClass
{
	public function maFonction($m_var)
	{
		$sql = "SELECT  * FROM codes_postaux WHERE id =".$m_var."";
		 $requete = BD::getConnexion()->query($sql);
		$data = $requete->fetch();
		return $data['ville'];
	}
 
	public function liste()
	{
		$sql = "SELECT * FROM codes_postaux ORDER BY id DESC LIMIT 30 ";
		return BD::getConnexion()->query($sql);
	}
 
	public function queryPrepare($maVar)
	{
 
		$sql = "SELECT  * FROM codes_postaux WHERE  id = ?";
		$requete = BD::getConnexion();
		$requete->prepare($sql);
		return $requete->exec(array($maVar));
 
	}
 
	public function deleteVille($numVille)
	{
		$sql = "DELETE * FROM codes_postaux WHERE id=".$numVille."";
		$requete=BD::getConnexion()->exec($sql);
	}
}
?>
Donc forcement les fonctions queryPrepare et deleteVille ne fonctionnent pas, c'est surtout parce que je ne comprends pas comment se servir de ces fameuses requêtes préparées...

mon fichier index.php où je me sers de ma classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?php
	require('BD.class.php');
	require('maClasse.php');
 
	$m_class = new MyClass();
 
 
 
	echo $m_class->maFonction(333333);
	$m_class->deleteVille(333333);
 
?>
Bien cordialement,

Jérôme.