$result = mysql_query("SELECT * FROM
intoput 
WHERE (if($getmt201!=0)
 nampc LIKE '%$getmt201%')
AND 
======
MYSQL好象报错

解决方案 »

  1.   

    //PHP变量$getmt201保存的是一个字段名吗?
    $result = mysql_query("SELECT * FROM `intoput` WHERE `{$getmt201}` <> 0 AND `nampc` LIKE '%{$getmt201}%'");
      

  2.   

    $getmt201是一个GET赋值变量
    有时可能是空
      

  3.   

    即 $getmt201为空时
    不管
    非空时
    nampc LIKE '%$getmt201%'
    作为条件
      

  4.   

    $SQL = 'SELECT * FROM `intoput` WHRE ';
    if (strlen($getmt201) > ) $SQL .= "`nampc` LIKE '%{$getmt201}%'";
    $SQL .= 'AND ...';
    $result = mysql_query($SQL);
      

  5.   

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1============
    出现了以上错误
    不知错在哪儿
    <?php$con = mysql_connect("localhost","root","122609louis");if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    $ccds201=$_GET["ma"];
    $getmt201=iconv("gb2312","UTF-8",$ccds201);
    $getmt202=$_GET["mb"]; $getmt203=$_GET["mc"];

    $getmt204=$_GET["md"];$ccds205=$_GET["me"];$getmt205=iconv("gb2312","UTF-8",$ccds205);$ccds206=$_GET["mf"];$getmt206=iconv("gb2312","UTF-8",$ccds206);
    $ccds207=$_GET["mg"];$getmt207=iconv("gb2312","UTF-8",$ccds207);
    $ccds208=$_GET["mh"];$getmt208=iconv("gb2312","UTF-8",$ccds208);
    $getmt209=$_GET["mi"];
    //时间被必赋值
    $getmt210=$_GET["mj"];
    if ($getmt210=="")
    {$getmt210="1990-01-01";}
    $getmt211=$_GET["mk"];
    if ($getmt211=="")
    {$getmt211="2990-01-01";} $ccds212=$_GET["ml"];$getmt212=iconv("gb2312","UTF-8",$ccds212);
    $ccds213=$_GET["mm"]; $getmt213=iconv("gb2312","UTF-8",$ccds213);echo  $getmt201,$getmt202,$getmt203,$getmt204,$getmt205,$getmt206,$getmt207,$getmt208,$getmt209,$getmt210,$getmt211,$getmt212,$getmt213;
    mysql_select_db("jsp_db", $con);$SQL = "SELECT * FROM  intoput  WHERE";
    if (strlen($getmt201) >0 ){
    $SQL.= " nampc  LIKE '%$getmt201%'";
    $SQL.= "AND";}
     if (strlen($getmt202) >0) {
     $SQL.= "namhs LIKE '%$getmt202%'";
    $SQL.= "AND";}
     if (strlen($getmt205) >0 ) {
     $SQL.= "gclass_1a LIKE '%$getmt205%'";
     $SQL.= "AND";}
     if (strlen($getmt206) >0 ){ 
     $SQL.= "gclass_2a  LIKE '%$getmt206%'";
     $SQL.="AND";}
     
     if (strlen($getmt207) >0 ) {
     $SQL.= "gclass_3a LIKE '%$getmt207%'";
     $SQL.= "AND";}
      if (strlen($getmt208) >0){ 
     $SQL.= "beizpc LIKE '%$getmt208%'";
    $SQL.= "AND";}
     if (strlen($getmt209) >0 ) {
     $SQL.= "jiangu LIKE '%$getmt209%'";
     $SQL.= "AND";}
     if (strlen($getmt212) >0 ) {
     $SQL.= "namein  LIKE '%$getmt212%'";
     $SQL.= "AND";}
     
     if (strlen($getmt213) >0 ) 
     $SQL.= "unitpc LIKE '%$getmt213%'";
     
    $result = mysql_query($SQL)or die(mysql_error());