Mysql与WHERE和LIKE子句一起搜索所有列

时间:2014-07-13 21:46:33

标签: php mysql sql

我有一个数据库,其中表中有四列id,title,address,phone。当用选定的表搜索时,查询搜索该特定行中的术语并获取结果,但我想知道的是,如果没有选择表格即 -

   <option value="">Select table</option>

我希望查询在每个表中搜索术语,我可以使用WHERE row1 LIKE %$keyword% OR row2 LIKE %$keyword%来完成,但是我希望它在一个查询中搜索这个东西,就好像它选择所有行数据并用术语搜索它一样,就像首先它自己一个接一个地搜索row 1然后row2 row3。有什么方法可以做到这一点

   <html>
   <head>
   </head>
   <body>
  <?php
  if(isset($_POST['submit'])) 
  { 
   $keyword= $_POST['keyword'];
   $table= $_POST['table'];

    mysql_connect("localhost", "username", "password") or die(mysql_error()); 
    mysql_select_db("dbname") or die(mysql_error());

   $data = mysql_query("SELECT * FROM information WHERE $table LIKE '%".$keyword."%'");  

   //And we display the results 
   while($result = mysql_fetch_array( $data )) 
   { 
   echo $result['id'];
   echo $result['title']; 
   }
   }
   ?>
   <form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='POST'>
   <input type='text' size='90' name='keyword'>
   <select name='table'>
   <option value="">Select table</option>
   <option value="title">title</option>
   <option value="address">address</option>
   <option value="phone">phone</option>
   </select>
   <input type='submit' name='submit' value='submit' >
   </form>
   </body>
   </html>

1 个答案:

答案 0 :(得分:0)

看起来你应该有什么工作,但你还需要连接where子句。试试这个。

$ data = mysql_query(“SELECT * FROM information WHERE` {$ table}`LIKE'%”。$ keyword。“%'”);