获取表不存在与php和mysql


Getting table doesnt exist with php and mysql

下面的代码应该搜索数据库。但我得到错误,我的表不存在。我还想问为什么如果我按第二次提交按钮,它只是跳转到else,所以它返回choose at least.... and also all data from database.。谢谢!

php

    if (isset($_POST['submit'])) {                                                   
   $query = 'SELECT * FROM station_tab';
   if (!empty($_POST['station_name']) && !empty($_POST['city']) && !empty($_POST['zone'])) 
   {
      $query .= 'WHERE station_name' .mysql_real_escape_string($_POST['station_name']) . 'AND city' . mysql_real_escape_string($_POST['city']) . 'AND zone' . mysql_real_escape_string($_POST['zone']);   
   } elseif (!empty($_POST['station_name'])) {
      $query .= 'WHERE station_name' . mysql_real_escape_string($_POST['station_name']);
   } elseif (!empty($_POST['city'])) {
      $query .= 'WHERE city' . mysql_real_escape_string($_POST['city']);
   } elseif (!empty($_POST['zone'])) {
      $query .= 'WHERE zone' . mysql_real_escape_string($_POST['zone']);
   } else {
   echo "Choose at least one option for search";
   }
    $result = mysql_query($query, $db) or die(mysql_error($db));    
    if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_array($result)){    
    echo '<br/><em>' .$row['station_name'] . '</em>';
    echo '<br/>city: '. $row['city'];  
    echo '<br/> zone: ' .$row['zone'];
    echo '<br/> Long: ' .$row['lon'];
    echo '<br/> Lat: ' . $row['lat'];  
    }    
  }
  } 

当我添加城市名称到城市时,这里是错误消息。

Table 'stanice_tab.station_tabwhere' doesn't exist

更正后的代码:

   $query = 'SELECT * FROM station_tab '; // note the space at the end
   if (!empty($_POST['station_name']) && !empty($_POST['city']) && !empty($_POST['zone'])) {
      $query .= ' WHERE station_name = "' .mysql_real_escape_string($_POST['station_name']) . '" AND city = "' . mysql_real_escape_string($_POST['city']) . '" AND zone = "' . mysql_real_escape_string($_POST['zone']).'"'; // note the = signs and the space before each AND 
   } elseif (!empty($_POST['station_name'])) {
      $query .= ' WHERE station_name = "' . mysql_real_escape_string($_POST['station_name']).'"'; // note the = sign and the space at the beginning
   } elseif (!empty($_POST['city'])) {
      $query .= ' WHERE city = "' . mysql_real_escape_string($_POST['city']).'"'; // note the = sign and the space at the beginning
   } elseif (!empty($_POST['zone'])) {
      $query .= ' WHERE zone = "' . mysql_real_escape_string($_POST['zone']).'"'; // note the = sign and the space at the beginning
   } else {
       echo "Choose at least one option for search";
   }

采取echo的习惯,你的$query变量,这样连接不会增加任何打字错误。

in phpmyadmin select database and then select your table

和上面的菜单中有一个SQL菜单。您可以使用此功能来构建SQL查询或在出现以下错误时进行调试