Conversion de la chaîne au format d'horodatage MySQL en php
Je suis en train d'écrire une requête en php à l'aide d'une chaîne de caractères envoyée à partir d'un android application java.
La requête est quelque chose comme :
$insertSQL = sprintf("INSERT INTO app_DuckTag (taste) VALUES (%s) WHERE species=%s AND timestamp=%s",
GetSQLValueString($_POST['taste'], "text"),
GetSQLValueString($_POST['species'], "text"),
GetSQLValueString($_POST['timestamp'], "text"));
Mais je doute que le timestamp est stocké comme une chaîne de caractères à l'intérieur de MySQL.
Comment dois-je convertir la chaîne de format d'heure que dans MySQL?
La fonction strtotime(string) fonction php convertit en temps unix.
Mais le MySQL stocke les choses différemment, je suppose. Merci.
EDIT: C'est qu'il s'affiche dans MySQL phpmyadmin: 2011-08-16 17:10:45
EDIT: Ma requête est mal. Canon utiliser une clause where avec Insert.
La requête doit être mise à JOUR .... SET ... = ... OÙ ....
Mais le a accepté de répondre est la bonne manière d'utiliser le temps à l'intérieur de la clause where.
source d'informationauteur Brahadeesh
Vous devez vous connecter pour publier un commentaire.
Cela devrait être tous les:
si vous souhaitez vérifier les fuseaux horaires et tel, vous devez utiliser strftime au lieu de la date
Si vous pouvez obtenir l'entrée des "cordes" (que vous n'avez pas spécifié le format que vous êtes à la recevoir) pour un timestamp Unix de valeur, vous pouvez facilement le convertir en un format datetime de MySQL comme ceci:
Cela produira un chaîne semblable à la suivante:
Qui est le format de la base de données MySQL datetime format. Si vous utilisez un autre format de l'heure, puis le premier argument de la
date
fonction sera différent.Voir le manuel pour la date fonction pour plus d'informations et d'autres façons que vous pouvez formater la valeur qu'elle retourne.
Modifier
Vous êtes bénéficiaire d'une chaîne formatée dans MySQL format datetime. Après la stérilisation, vous pouvez l'insérer directement dans la base de données. Pour MySQL, il peut être un 'datetime' type de données, mais pour le PHP c'est simplement une chaîne de caractères (tout comme l'ensemble de votre requête SQL n'est rien de plus qu'une chaîne de caractères en PHP).
Vous devriez être en mesure d'insérer en toute sécurité dans votre base de données pour le champ timestamp.
Il y a une fonction FROM_UNIXTIME dans mysql. Pourquoi ne voulez-vous pas l'utiliser?