Alors, je suppose que je doit énerver
Car donc avec ton code + la prépare j'obtiens :
class SPDO extends PDO {
CONST dsn = DB_SESSIONS_DSN;
CONST username = DB_SESSIONS_USER;
CONST password = DB_SESSIONS_PASSWORD;
private static $instance;
public static function getInstance() {
null self::$instance or self::$instance new self();
return self::$instance;
}
# On est obligé de laisser le constructeur public parce qu'on étend PDO dont le constructeur est public
public function __construct() {
parent::__construct(self::dsn, self::username, self::password);
}
}
$req = SPDO::getInstance()->prepare("INSERT INTO logs_erreurs (date_erreur, texte_erreur) VALUES (?, ?)");
$author="jhj";
$title="hgjjh";
$req->bindParam(1, $author);
$req->bindParam(2, $title);
Et une erreur : Call to a member function prepare() on a non-object
Mais là normalement je pense avoir réussis même si la diff de code est subtile pour moi pourtant je lis pour être sur de bien assimiler ce que tu me dis.
class SPDO extends PDO {
private static $instance;
public function __construct() {
}
public static function getInstance() {
if(!isset(self::$instance)or null === self::$instance) {
self::$instance = new PDO(DB_SESSIONS_DSN, DB_SESSIONS_USER, DB_SESSIONS_PASSWORD);
self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
return self::$instance;
}
}
$req = SPDO::getInstance()->prepare("INSERT INTO logs_erreurs (date_erreur, texte_erreur) VALUES (?, ?)");
$date_erreur="jsddhj";
$texte_erreur="hgsdsdjjh";
$req->bindParam(1, $date_erreur, PDO::PARAM_STR);
$req->bindParam(2, $texte_erreur, PDO::PARAM_STR);
$req->execute();
Donc ça marche comme ça.
Moralité merci de ta suprême patience
Dernier truc :
-est-ce mieux ?
-pourquoi ça marche avec
$date_erreur="jsddhj";
$texte_erreur="hgsdsdjjh";
$req->bindParam(1, $date_erreur, PDO::PARAM_STR);
$req->bindParam(2, $texte_erreur, PDO::PARAM_STR);
et pas directement avec :
$req->bindParam(1, 'test', PDO::PARAM_STR);
$req->bindParam(2, 'texte', PDO::PARAM_STR);
Je comprendrais si tu veux plus répondre car là, tu m'as été du plus grand secours et d'une patience encore jamais rencontré pour ma part. Merci à toi.