这是我目前的职能:
$result = $db->sql_query("SELECT * FROM data1,data2,data3,data4 WHERE person='" .$name. "'");
$row = $db->sql_fetchrow($result);
$day = $row['regtime'];
$days = (strtotime(date("Y-m-d")) - strtotime($row['regtime'])) / (60 * 60 * 24);
if($row > 0 && $days < 15){
$row = ['name'];
$row = ['age'];
//etc
但是上面的函数会在regtime
行中进行双重读取。我正在寻找的是我可以将这两种功能都集成到单个查询中吗?如果是的话怎么样?
答案 0 :(得分:1)
您是说您只想要结果集中过去15天的行吗?
您没有包括如何加入data1-4表,并且您的person
字段对SQL注入是开放的,所以我将这些部分保留下来,但下面包含了过滤掉的方法仅过去15天的记录:
SELECT *
FROM data1
WHERE person = :name
AND regtime >= NOW() - INTERVAL 15 DAY
答案 1 :(得分:0)
目前,此功能只有一个查询。如果您的摘录中没有遗漏,则没有双重查询。如果你的意思是你使用两次$ row ['regtime'],那就是数组读取而不是查询。