搞不懂了,数据库数据查询问题。
数据库设计如下
 l1 l2 l3 l4 l5 l6 dqs jqs zqs firstarea secondarea thirdarea ac
"1","1","2","3","4","5","6","21","0","3","4","6","0","0","0"
"2","1","2","3","4","5","7","22","0","4","5","6","0","0","1"
"3","1","2","3","4","6","7","23","0","3","4","6","0","0","1"
"4","1","2","3","5","6","7","24","0","4","5","6","0","0","1"
"5","1","2","4","5","6","7","25","0","3","4","6","0","0","1"
"6","1","3","4","5","6","7","26","0","4","4","6","0","0","1"
"7","2","3","4","5","6","7","27","0","3","4","6","0","0","0"
"8","1","2","3","4","5","8","23","0","3","4","6","0","0","2"
"9","1","2","3","4","6","8","24","0","2","3","6","0","0","2"
"10","1","2","3","5","6","8","25","0","3","4","6","0","0","2"
"11","1","2","4","5","6","8","26","0","2","3","6","0","0","2"
"12","1","3","4","5","6","8","27","0","3","3","6","0","0","1"想根据已有条件选出来l1,l2,l3,l4,l5,l6的号码,设计了一张大表,包涵全部数据信息
如,根据顾客利用表单提交的dqs,jqs,zqs,firstarea,secondarea,thirdarea等信息的值,挑选出l1到l6的号码都有什么。请问查询语句如何设计,还有表单的输入信息,如何传递给查询语句进行查询?我的想法如下条件要同时满足   
<form method=post action="query_action.php">
<p>大号数:
<input type="text" name="dqs"></p>
<p>奇数:
<input type="text" name="jqs"></p>
<p>质数:
<input type="text" name="zqs"></p>
<p>第一部分:
<input type="text" name="firstarea"></p>
<p>第二部分:
<input type="text" name="secondarea"></p>
<p>第三部分:
<input type="text" name="thirdarea"></p>
<p><input type="submit" value="查"></p>
</form><?php  //query_action.php
$dqs=$_post['dqs'];
$jqs=$_post['jqs'];
$zqs=$_post['zqs'];
$firstarea=$_post['firstarea'];
$secondarea=$_post['secondarea'];
$thirdarea=$_post['thirdarea'];$db=new mysqli('localhost','admin','admin','ssq') ;  
//mysql_connect("localhost","admin","admin");
//mysql_selectdb($test);
$sql='select l1,l2,l3,l4,l5,l6 from hmk where l1=1 and l2=2 and l3=3 and l4=4 and l5= 5 and l6=6';  
$db->query($sql);
 //$row1=mysql_fetch_array($dbb,MYSQLI_BOTH) ;      echo "试验多次,首先是值没传递进去,其次就算传递进去怎么传递出来,输出到TXT也行" ;
?>

解决方案 »

  1.   

    sql语句的各个字段用''包起来啊,很明显表里存的是char
      

  2.   

    没搞懂楼主的意思,从你的代码来看:
    $_POST的值有什么作用?是要根据其查询还是将其插入?
    另,你的数据库表结构是怎样的?和你给出的数据有什么关系?
      

  3.   

    怎么是 l1=1 and l2=2 and l3=3 and l4=4 and l5= 5 and l6=6
    至少也该是
    $dqs=dqs and $jqs=jqs and $zqs=zqs and $firstarea=firstarea and $secondarea=secondarea and $thirdarea=thirdarea
      

  4.   

    $_POST的值就是希望了解表单里的输入条件,然后依照满足所有条件的记录查出来.
    给出来的数据就是我的数据库表.那个LI=1...是我在学习POST传值查询的过程中,无果,想找出一条记录看是否可行,结果仍然..........
      

  5.   

    是这样吗?$sql="select L1,L2,L3,L4,L5,L6 from hmk where dqs={$dqs} and jqs={$jqs} and zqs={$zqs} and firstarea={$firstarea} and secondarea={$secondarea} and thirdarea={$thirdarea}";
    $res = mysql_query($sql);
    if(!$res)
    die("SQL:{$sql}<br>Error:".mysql_error());
    if(mysql_affected_rows() > 0){
    while($rows = mysql_fetch_array(MYSQL_ASSOC)){……}
    }else{
    echo "查询失败<br>Error:".mysql_error();
    }
      

  6.   

    是这个意思,取出满足所有条件的的l1--l6的值,
    $sql="select L1,L2,L3,L4,L5,L6 from hmk where dqs={$dqs} and jqs={$jqs} and zqs={$zqs} and firstarea={$firstarea} and secondarea={$secondarea} and thirdarea={$thirdarea}"和
    $dqs=$_post['dqs'];
    $jqs=$_post['jqs'];
    $zqs=$_post['zqs'];
    $firstarea=$_post['firstarea'];
    $secondarea=$_post['secondarea'];
    $thirdarea=$_post['thirdarea'];$sql="select L1,L2,L3,L4,L5,L6 from hmk where dqs=$dqs and jqs=$jqs and zqs=$zqs and firstarea=$firstarea and secondarea=$secondarea and thirdarea=$thirdarea"
    区别大么
    还有就是如果得到数据比较多,在浏览器中显示比较慢 ,$rows = mysql_fetch_array(MYSQL_ASSOC得到的是查询的结果数组么,如果是我就可以将他输出到TXT中查看
      

  7.   

    你的字段不是char类型吗? 如果是即要加''号、
    $sql="select L1,L2,L3,L4,L5,L6 from hmk where dqs=$dqs and jqs='$jqs' and zqs='$zqs' and firstarea='$firstarea' and secondarea='$secondarea' and thirdarea='$thirdarea'"
      

  8.   

    $sql="select L1,L2,L3,L4,L5,L6 from hmk where dqs='{$dqs}' and jqs='{$jqs}' and zqs='{$zqs}' and firstarea='{$firstarea}' and secondarea='{$secondarea}' and thirdarea='{$thirdarea}'";
    $res = mysql_query($sql);
    if(!$res)
    die("SQL:{$sql}<br>Error:".mysql_error());
    if(mysql_affected_rows() > 0){
    $arr = array();
    while($rows = mysql_fetch_array(MYSQL_ASSOC)){
    array_push($arr,$rows);
    }
    }else{
    echo "查询失败<br>Error:".mysql_error();
    }
    #将结果打出来看看
    print_r($arr);
      

  9.   

    今天调试了一天,终于找到办法了,$sql="select L1,L2,L3,L4,L5,L6 from hmk where dqs='{$dqs}' and jqs='{$jqs}' and zqs='{$zqs}' and firstarea='{$firstarea}' and secondarea='{$secondarea}' and thirdarea='{$thirdarea}'",这样不行,表单里的值还是传递不进来,把sql语句编程下面的样式就可以了。
    eg:
    $zqs=$_POST[zqs];$dqs=$_POST['dqs'];试验过了不管里面有没有单引号或双引号,下面的方法都能传递进来值进行SQL查询。不知道之面几位的对我的疑问都是基于什么样的数据结构提出的。不管了,实现效果先。
    设计SQL如下,我的数据结构把所有列都改成int型了:
    $sql='select L1,L2,L3,L4,L5,L6 from hmk where dqs='.$dqs.' and zqs='.$zqs;如此下去,就可以将表单内输入的数字传递进来进行数据库查询。
      

  10.   

    感谢各位的帮助,现结贴!!对了调试的时候发现,在进行select查询时,想取得影响结果集的行数时需要用mysqli_num_rows($result),其他的insert,update 才可以用 mysqli_affected_rows($result)感谢轩辕枪神,在你的{}的帮助下才想到连接字符串,多谢!~~~~