根据值[MYSQLi]

时间:2015-08-01 06:32:37

标签: php mysql database mysqli

所以这就是我尝试做的事情,并且不知道如何继续进行。

有两张桌子。 db1db2。 Db1包含两个column s,idPriceMin

Db2包含id列和Price

Db1是母数据库,其中每个id包含设定价格。这个db是静态的。

Db2是子项数据库,其中每个项目的人员投票(阅读:id),并且脚本在匹配ID&#后使用avg()函数39;显示数据的价格和价格。

现在,由于这是一个要求投票的脚本,它有一个巨大的缺陷:它可以被操纵。因此,我尝试每隔几个小时运行一个脚本db2,匹配id并从db2删除每行(投票)它的价格超过了iddb1的200%。

到目前为止我的解决方案:

  1. 让每个数据库被查询并提取到一个数组中,并使用str_replace功能使用if。这似乎不合逻辑也不可行。

  2. POST之前使用脚本来检查哪个会将查询加倍到DB,这是不合逻辑的。这也是一个愚蠢的想法,因为每次投票都需要查询。

  3. 所有想法都非常感谢指导或建议以何种方式进行。

    提前致谢!

    编辑:

    想出了一些东西,但它不起作用:

    <?php
    include ('go.php');
    $sql = "delete 
    from db2
    where db2.id IN (select db1.id where db2.price > db1.price * 2)" or die(mysqli_error($sql));
    ?>
    

1 个答案:

答案 0 :(得分:0)

尝试此查询:

DELETE db2
FROM db2
JOIN db1 ON db2.id = db1.id
WHERE db2.price > db1.price * 2