( ! ) Warning: PDOStatement::execute

Fermé
Lwss Messages postés 4 Date d'inscription dimanche 23 décembre 2018 Statut Membre Dernière intervention 10 février 2019 - Modifié le 10 févr. 2019 à 12:17
 Utilisateur anonyme - 10 févr. 2019 à 13:00
( ! ) Warning: PDOStatement::execute(): SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: 'NOW()' for column 'date' at row 1 in C:\wamp64\www\leader\aubin\functions\writer.func.php on line 18
#le code

<?php

function post($title,$content,$posted){
 global $db;

 $p = [
  'title' => $title,
  'content' => $content,
  'writer' => $_SESSION['administrateur'],
  'posted' => $posted
  

 ];
 $sql= "INSERT INTO posts (title,content,writer,date,posted) VALUES ('title','content','writer','NOW()','posted')";
 

 $req=$db->prepare($sql);
 $req->execute($p);
 
}


function post_img($tmp_name, $extension){

 global $db;
 $id= $db->lastInsertId();
 $i=[
  'id' =>  $id,
  'image' => $id.$extension
 ];
 $sql="UPDATE posts SET image = :image WHERE id= :id";
 $req = $db->prepare($sql);
 $req->execute($i);
 move_uploaded_file($tmp_name,"../img/posts/".$id.$extension);
 header("Location:index.php?page=post&id=".$id);
}


EDIT : Ajout des balises de code

3 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
10 févr. 2019 à 12:17
bonjour, moi j'essaierais sans les apostrophes autour de NOW(), donc
NOW()
au lieu de
'NOW()'
.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
10 févr. 2019 à 12:17
Bonjour,

'NOW()' .... sans les quotes : NOW()
0
Bonjour

Pas d'apostrophes autour de NOW(), mais ça ne suffira pas ...
VALUES ('title' var insérer le texte 'title' dans la base, pas ta variable $title
Pour que test variables soient utilisées dans ta requête, il faut l'écrire
VALUES( :title, :content, etc.

comme tu l'as fait (recopié ?) dans la fonction post_img
0