probleme insertion de date dans mysql

alpking

Membre actif
13 Mai 2005
142
4
45
Bonjour,

j'ai un script de news qui marchait très bien en local mais maintenant sur mon serveur j'ai un problème avec les date dans mysql.

Voici ma table mysql (version de mysql : 3.23 :D je sais c'est archaiqe)

bdd.png


et voici ma requête afin d'insérer dans mysql ma date :

Bloc de code:
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);
    $date = date("Y-m-d G:i:s");
    // On v??????erifie si c'est une modification de news ou pas
    if ($_POST['id_news'] == 0)
    {
        // Ce n'est pas une modification, on cree une nouvelle entrée dans la table
        mysql_query("INSERT INTO news (titre, contenu, datetime) VALUES('$titre', '$contenu', CAST('$date' AS DATETIME))") or die(mysql_error());
    }
    else
    {
        // C'est une modification, on met juste a jour le titre et le contenu
        mysql_query("UPDATE news SET titre='$titre', contenu='$contenu' WHERE id=".$_POST['id_news']);
    }
}

juste avant ce code, il y a un include qui inclut le code suivant :

Bloc de code:
<?php

function convertirDate($date) {
	$annee = substr($date, 2, 2);
	$mois = substr($date, 5, 2);
	$jour = substr($date, 8, 2);
	$date = "$jour/$mois/$annee";
	return $date;	
}

function convertirHeure($date) {
	$heure = substr($date, 11,5);
	return $heure;
}

?>

Lorsque je test ce script, j'obtiens l'erreur suivante, et je ne vois vraiment pas ou elle est :

You have an error in your SQL syntax near '('2006-11-22 16:59:11' AS DATETIME))' at line 1

cette erreur arrive lorsque j'éxécute le 1er code donné ci-dessus...


Comment faire ? Ou est mon erreur ?

Merci bp d'avance de votre aide
 
blabla VALUES('$titre', '$contenu', '$date')") or blabla

le cast ne t'ai d'aucune utilit&#233; ici, je vois pas pourquoi tu t'embetes!

(si tu tiens au cast il te faut les cotes qui sont manquantes, ce qui provoque l'erreur)

EDIT : faire afficher la commande mysql permet de d&#233;tecter 90% des erreurs tr&#233;s facilement
EDIT 2 : ta date, il faut la g&#233;n&#233;rer avec date("Y-m-d H:i:s") le G ne donne pas les z&#233;ros pour les 9 premi&#232;res heures, et peut poser pb.