Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 避免在两次之间插入sql_Php_Mysql - Fatal编程技术网

Php 避免在两次之间插入sql

Php 避免在两次之间插入sql,php,mysql,Php,Mysql,我试图避免在数据库中插入多个sql。我们的想法是在再次插入之前至少等待5分钟 使用获取上次插入的时间 $query ="SELECT fecha FROM almacen WHERE fecha > NOW() - INTERVAL 5 MINUTE ORDER BY id DESC LIMIT 1" $espera=mysqli_query($conexion, $query) if (empty($espera)) { inserting code } else { close }

我试图避免在数据库中插入多个sql。我们的想法是在再次插入之前至少等待5分钟

使用获取上次插入的时间

$query ="SELECT fecha
FROM almacen
WHERE fecha > NOW() - INTERVAL 5 MINUTE
ORDER BY id DESC LIMIT 1"

$espera=mysqli_query($conexion, $query)

if (empty($espera)) { inserting code } else { close }
但是当查询应该返回值时,它什么也不返回。我想这可能是个问题,因为date是使用php
date(“j/n/Y h:I”)插入的


我应该更改时间格式吗?我应该使用什么?

如果您想将行限制为每5分钟只有一个条目,我会:

创建一个名为
insert_interval DATE
的列,并在该列上创建唯一索引。然后尝试插入,将插入间隔的值设置为 插入时间的间隔为5分钟

例如,将日期标准化为5分钟间隔

select now() - interval (mod(minute(now()),5)) minute - interval second(now()) second;
插入

insert into table(columns ..., insert_interval) values(
..., now() - interval mod(minute(now()),5) minute - interval second(now())
);
从小时开始,每5分钟仅允许一行。从00:00:00到00:04:59,依次类推。任何在该时间窗口中插入另一行的尝试都将导致重复的键错误,您可以捕获该错误并采取适当的操作


取消对上一次插入的注释以查看生成架构上的错误。

存储日期时,应使用默认的mysql日期语法。该字段也应该是mysql的日期类型之一。如果你想让它以另一种方式显示,请使用你的应用程序,而不是mysql。我同意。如果希望在任何时候返回数据,您可以使用函数以您想要的方式显示数据。请说明列的确切数据类型,以及插入值的PHP代码行。向我们展示almacen表结构和一些示例数据。您还确定有符合您要求的条目吗?阅读注释后,数据类型为datetime,now()sql函数正确存储。我遇到的一个奇怪的问题是,如果我使用此代码
empty

no empty

则会显示no empty,但如果我在phpmyadmin中运行sql查询,则会显示empty。