9
votes

Obtenez DateTime en PHP et postez-le à MySQL pour la cohérence des transactions

Voici un lien vers la raison derrière cette question: () pour DateTime Innodb Transaction Garantie?

afin d'assurer une transaction unique avec un nombre quelconque de requêtes ( 20 + requêtes par exemple) a une valeur 100% précise et cohérente () Valeur Accross Plusieurs tables, Quelle est la méthode PHP d'attribuer une variable équivalente de DateTime en utilisant maintenant () (pas d'horodatage non courant).


0 commentaires

3 Réponses :


4
votes

Faites-le dans MySQL, de sorte que vous n'impliquez pas de PHP du tout:

select @now := now();

insert into .... values (@now)
select from ... where x=@now
etc....


0 commentaires

18
votes

Un moyen pourrait être: xxx


1 commentaires

Soyez prudent si le serveur PHP et le serveur MySQL ne possèdent pas le même fuseau horaire par défaut. Voir ma réponse pour une alternative sans ce problème.



3
votes

Vous pouvez faire:

<?
$now = time();
$sql = "INSERT INTO table SET field=FROM_UNIXTIME($now)";
$sql2 = "INSERT INTO table SET field=FROM_UNIXTIME($now)";
...


0 commentaires