Comment insérer l'enregistrement avec MySQL fonction NOW() dans MySQLi avec bind_param?
J'ai besoin d'exécuter cette requête mysql en MySQLi, PDO avec bind parametr en PHP:
mysql_query("INSERT INTO `posts` (post_name,publish_date) VALUES ($post_name,NOW()) ")
J'utilise le script de ce genre, mais il n'a pas d'insérer publish_date correctement.
$publish_date = 'NOW()';
$insert = $mysqli->prepare("INSERT INTO posts (post_name,publish_date) VALUES (?,?)");
$insert->bind_param("ss", $post_name $publish_date);
$insert->execute();
Il insère l'enregistrement dans le publish_date
colonne comme ceci: 0000-00-00 00:00:00
Comment puis-je faire cela ? Merci à l'avance.
P. S: Le type de la colonne de la date datatime
.
OriginalL'auteur JohnUS | 2012-02-29
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas un paramètre de la requête, que vous n'avez pas à fournir une valeur pour MySQL.
0000-00-00 00:00:00
inséré est que vous essayez d'insérer la chaîne'NOW()'
plutôt qu'une reconnaissables valeur de type datetime. MySQL convertit la chaîne en une valeur de type datetime, et la valeur choisie est de zéro jour.Mais ... et la variable dans bind_param à fournir "NOW()" dans bind_param?
Je ne comprends pas votre question.
Corrigez-moi si je me trompe, mais dans bind_param, une valeur d'approvisionnement de la première de '?'. N'est pas nécessaire d'avoir une valeur pour l'approvisionnement de la deuxième paramètre (MAINTENANT())?
Un des paramètres qui doivent être supprimés à partir de l'appel à bind_param(). Il n'y a qu'un "?", si un seul paramètre ($post_name).
OriginalL'auteur Hammerite
Probablement, vous devez essayer d'utiliser la fonction date pas de MAINTENANT()
n'avait pas vu que l'on si la base de données et php/serveur ont été sur différents serveurs à l'aide de la synchronisation de l'heure ntp script permettra de résoudre le problème
OriginalL'auteur smilezjim