Salut tout le monde, bon je cherche depuis hier soir j'ai passé la nuit dessus mais là je galère grave les amis.
L'erreur : (ok j'ai compris que cetait pas un objet mais on fait comment alors ??)
Notice: Trying to get property of non-object in C:\xampp\htdocs\admin\inc\functions.php on line 14
Notice: Trying to get property of non-object in C:\xampp\htdocs\admin\inc\functions.php on line 20
Ma fonction:
function new_album($name){
$pdo = new PDO('mysql:dbname=ldj;host=localhost', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$req = $pdo->query('SELECT * FROM albums WHERE name="'.$name.'"');
$data = $req->fetch();
if ($data->name != null) {
echo '<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<strong>Doh!</strong> Il y a déja un album avec ce nom.
</div>';
}
elseif ($data->name == null) {
$req = $pdo->prepare("INSERT INTO albums SET name = ?, folder = ?");
$folder = 'gallerie/'.$name.'';
$req->execute([$name, $folder]);
mkdir('gallerie/'.$name.'',1715);
debug($data);
}
}
C'est juste une notice donc pas très important en soit. Cependant as-tu fait un var_dump() de $data ? Pour voir ce que contient réellement la variable.
Car si l'album n'existe pas alors $data doit être vide, donc le premier test serait plûtot if(isset($data->name) && $data->name != null) et après juste un else suffit, pas besoin de elseif normalement.