Impossible insérer requête SQL ds script création Db en Php

Fermé
sergio1236 Messages postés 9 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 13 juin 2013 - 1 juin 2013 à 09:52
varley Messages postés 66 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 28 septembre 2018 - 3 juin 2013 à 21:02
Bonjour,

Dans le cadre de la création d'un site web en PHP/Mysql ,avec le Serveur Xampp en localhost,
mon but c'est d'ajouter un blog au site web sachant que seul un administrateur est autorisé à le faire. Pour cela je souhaiterais insérer des données dans la table Blog.
Mais impossible d'exécuter la requête " INSERT TO "des données dans la table Blog : message d'erreur " Il y a une erreur dans votre requête de création de la table Blog :

INSERT INTO Blog( titre, texte,date_blog) VALUES ('lklkl', 'hyhy', '2013-06-28 05:12:15')

Je peux créer la requête directement dans PhpMyAdmin mais mon superviseur veut la tester en localhost sur son PC.


Merci d'avance pour votre aide

try
{
$pdo = new PDO('mysql:host=localhost', 'root', '');
catch (PDOException $e) {
die( "Erreur !: " . $e->getMessage() );

$requete = 'CREATE TABLE Blog (
id_blog INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
titre VARCHAR(30) NOT NULL,
texte VARCHAR(500) NOT NULL,
date_blog DATETIME NOT NULL)';

$requete= "INSERT INTO Blog( titre, texte,date_blog) VALUES ('lklkl', 'hyhy', '2013-06-28 05:12:15')";

if($pdo->exec($requete) === FALSE)
{
echo 'Il y a une erreur dans votre requête de création de la table Blog ';
echo $requete;
exit();
}
echo'Table Blog créée <br/>';
A voir également:

3 réponses

varley Messages postés 66 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 28 septembre 2018 12
1 juin 2013 à 17:30
bonjour!

l'erreur s situe au nivo des attributs de values

les attributs de values doivent etre des variables par exemple:$lklkl


INSERT INTO Blog( titre, texte,date_blog) VALUES ('lklkl', 'hyhy', '2013-06-28 05:12:15')
0
sergio1236 Messages postés 9 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 13 juin 2013
3 juin 2013 à 20:43
J'ai trouvé , voici la solution :
j'ai rajouté à la fin :
if($nbinsert = $pdo->exec($requete) === FALSE)..........
La méthode exec() de l'objet $pdo est employée pour exécuter des requêtes SQL qui ne renvoient pas à proprement parler un résultat
(INSERT, DELETE, UPDATE, DROP) mais qui modifient les données contenues dans la BD. Cette méthode renvoie le nombre de lignes (enregistrements) affectées par la requête (donc un nombre qui peut être 0 !).
Par contre la valeur renvoyée en cas d'échec de la requête est la valeur booléenne false.Pour ne pas confondre les 2 cas il est nécessaire d'utiliser l'opérateur de comparaison de type === qui compare
en plus de la valeur renvoyée, son type ! Il permet donc de ne pas assimiler une valeur nulle( de type nombre ou chaîne) à la valeur booléenne false */


$requete = 'CREATE TABLE Blog (
id_blog INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
titre VARCHAR(30) NOT NULL,
texte VARCHAR(500) NOT NULL,
date_blog DATETIME NOT NULL)';


if($pdo->exec($requete) === FALSE)
{
echo 'Il y a une erreur dans votre requête de création de la table Blog ';
echo $requete;
exit();
}
echo'Table Blog créée <br/>';

$requete = "INSERT INTO blog (titre,texte,date_blog) values
('salut','coucou','2013-06-01 17:14:10') ";

if($nbinsert = $pdo->exec($requete) === FALSE)
{
echo 'Il y a une erreur dans votre requête d\'insertion dans la table Livres Empruntés .';
echo $requete;
exit();
}
0
varley Messages postés 66 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 28 septembre 2018 12
3 juin 2013 à 21:02
ok
0