Bonjour à tous,
Je viens de changer de serveur...
La version de php est la "5.1.6".
Le code suivant ne fonctionne plus et je n'y comprends plus rien....
class PDO2 extends PDO{
private static $_instance;
public function __construct(){
}
public static function getInstance(){
if (!isset(self::$_instance)){
try{
self::$_instance = new PDO('mysql:dbname=db003;host=xxxxx', 'matthieu', 'xxxxx');
}
catch(PDOException $e){
echo $e;
}
}
return self::$_instance;
}
}
$req = 'SELECT * FROM mywa_system_setting WHERE sys_setting_id = 1';
$res = PDO2::getInstance()->query($req);
$result1 = $res->fetch(PDO2::FETCH_OBJ);
print_r($result1);
echo '<hr />';
$req = 'SELECT * FROM mywa_system_setting WHERE sys_setting_id = 1';
$res = PDO2::getInstance()->query($req);
$result2 = $res->fetch(PDO2::FETCH_OBJ);
print_r($result2);
J'obtiens bien $result1 mais pas $result2 ???
Fatal Error : Call to a member function fetch() ..... pour la deuxième requête.
Si en changeant les instructions pour la deuxième requête par :
$val = array(':id' => 1);
$req = 'SELECT * FROM mywa_system_setting WHERE sys_setting_id = 1';
$res = PDO2::getInstance()->prepare($req);
$res -> execute($val);
$result2 = $res->fetch(PDO2::FETCH_OBJ);
J'ai le même problème... il ne trouve pas la fonction execute();
Ce code fonctionnait très bien sur l'autre serveur dont la verison de php est la "5.2.X" je pense...
Serait-ce un problème de version ?
Merci à vous.
Matt.