php - 逻辑错误还是语法错误?

标签 php mysql

我想在结果页面中执行查询,选择比索引页面传递的表单数据更大的信息。

从索引页传递的值是正确的,如下所示:

Array
(
[device] => sim only
[provider1] => umobile
[plantype] => postpaid
[dusage] => 3
[cusage] => 0
[musage] => 300
)

但是我的结果显示不符合预期。我想知道是我的逻辑错误还是我的语法错误?

这是我的查询代码:

 <?php
                //$planquery="SELECT * FROM plan";
                $dquery= "SELECT * FROM details";
                $device = $_POST['device'];
                $provider1 = $_POST['provider1'];
                //$provider2 = $_POST['provider2'];
                //$provider3 = $_POST['provider3'];
                //$provider4 = $_POST['provider4'];
                $plantype = $_POST['plantype'];
                $dusage = $_POST['dusage'];
                $cusage = $_POST['cusage'];
                $musage = $_POST['musage'];
                $planquery="SELECT * FROM plan WHERE 
                            Phone='$device' AND SIMTYPE='$plantype' AND 'DATA'>='$dusage' AND 'CALL'>='$cusage' AND 'MSG'>='$musage' "; 
                $planresult=mysql_query($planquery) or die ("Query to get data from firsttable failed: ".mysql_error());
                $dresult=mysql_query($dquery) or die ("Query to get data from firsttable failed: ".mysql_error());
                //$sresult=mysql_query($squery) or die ("Query to get data from firsttable failed: ".mysql_error());
                while ((($prow = mysql_fetch_assoc($planresult))) && ($drow = mysql_fetch_assoc($dresult)) ) {

                ?>

我有两个细节

  1. 500 条免费消息
  2. 200 条免费短信

表单数据包含用户搜索需求,以防用户搜索500msg。我想做的查询只是选择当 'MSG'>='$musage' 时还有其他要求的记录。两个结果均显示为结果;这是不符合预期的。

最佳答案

(代表 OP 发布解决方案)

我通过重组表来解决这个问题,这样查询起来更容易。我使用的是 Left Join,而不是从两个表中提取。

关于php - 逻辑错误还是语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39403299/

相关文章:

mysql - 按距离排序,你认为我应该怎么做?

mysql - SQL 比较具有版本值的字符串

PHP检查时间范围是否在一个时间范围内

javascript - 如何从 php 传递数据以在 javascript 中初始化它?

mysql - 如何在 R 的 sqlQuery 函数中使用 REGEXP

mysql - SQL:返回未分配的行

php - 如何从2个单独的SQL表中选择最新日期?

php - 如何为 PHP 和 Node 创建 Docker 镜像?

php - 使用mysql加入两个sql查询

javascript - 使用ajax调用prestashop中的 Controller