繁体   English   中英

逻辑错误或语法错误?

[英]Logic error or syntax error?

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

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

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,而不是从两个表中拉出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM