par
superNoob » 16 août 2020, 15:24
Bonjour,
Je coince pour effectuer un INSERT INTO comments avec PDO.
En effet je débute en php, mais j'avais déjà réussi avec mysqli_query pour faire un livre d'or.
Ici je voudrais récupérer les commentaires sur des photos.
Je réussi à les introduire dans la base de données par phpmyadmin et à les afficher.
Mais je ne réussi pas à le faire depuis la page web.
je n'ai plus de problème avec les requêtes de type SELECT en utilisant ->fetch(); mais je suis largué avec les insert.
C'est surtout la requête préparée que je ne comprends pas.
J'ai ce message d'erreur : Fatal error: Uncaught Error: Call to undefined method Database::prepare() in C:\xampp\htdocs\
Voilà le code de la page Comments.php j'espère que vous pourrez m'aidez.
Je reste à votre disposition pour plus de détails.
Code : Tout sélectionner
<?php
class Comments
{
static public $ADD_COMMENT_URL = "./add_comment.php";
static public function get_all_comments_picture($db, $picid)
{
$req = $db->query("SELECT `comments`.`user_id` , `comments`.`text` , `comments`.`created_on` , `users`.`login` FROM `comments` , `users` WHERE `picture_id` = ' $picid ' AND `users`.`id` = `comments`.`user_id` ORDER BY created_on DESC;", [$picid])->fetchAll(PDO::FETCH_ASSOC);
if ($req)
{
$row = array();
while ($row = $req)
{
$req[] = $row;
break;
}
return $row;
}
else
{
return False;
}
}
static public function add_comment($db, $text, $userid, $pictureid){
$sql = "INSERT INTO comments (id, text, user_id, picture_id, created_on) VALUES (NULL, '%s', '%d', '%d', NOW())";
$stmt = $db->prepare($sql);
$stmt->execute([$text, $userid, $pictureid]);
var_dump($text);
}
} Merci

Bonjour,
Je coince pour effectuer un INSERT INTO comments avec PDO.
En effet je débute en php, mais j'avais déjà réussi avec mysqli_query pour faire un livre d'or.
Ici je voudrais récupérer les commentaires sur des photos.
Je réussi à les introduire dans la base de données par phpmyadmin et à les afficher.
Mais je ne réussi pas à le faire depuis la page web.
je n'ai plus de problème avec les requêtes de type SELECT en utilisant ->fetch(); mais je suis largué avec les insert.
C'est surtout la requête préparée que je ne comprends pas.
J'ai ce message d'erreur : Fatal error: Uncaught Error: Call to undefined method Database::prepare() in C:\xampp\htdocs\
Voilà le code de la page Comments.php j'espère que vous pourrez m'aidez.
Je reste à votre disposition pour plus de détails.
[code]<?php
class Comments
{
static public $ADD_COMMENT_URL = "./add_comment.php";
static public function get_all_comments_picture($db, $picid)
{
$req = $db->query("SELECT `comments`.`user_id` , `comments`.`text` , `comments`.`created_on` , `users`.`login` FROM `comments` , `users` WHERE `picture_id` = ' $picid ' AND `users`.`id` = `comments`.`user_id` ORDER BY created_on DESC;", [$picid])->fetchAll(PDO::FETCH_ASSOC);
if ($req)
{
$row = array();
while ($row = $req)
{
$req[] = $row;
break;
}
return $row;
}
else
{
return False;
}
}
static public function add_comment($db, $text, $userid, $pictureid){
$sql = "INSERT INTO comments (id, text, user_id, picture_id, created_on) VALUES (NULL, '%s', '%d', '%d', NOW())";
$stmt = $db->prepare($sql);
$stmt->execute([$text, $userid, $pictureid]);
var_dump($text);
}
}[/code] Merci :D