将表单数据输入到MySql表中,然后在PHP中直接搜索该表

时间:2013-03-29 17:06:07

标签: php mysql

提交表单并将数据插入表后,我想搜索此表并设置一个会话变量以用于另一个数据库插入。下面是PHP,它插入然后搜索新更新的表。

require_once("db_connect.php");

if($db_server) {

     mysql_select_db($db_database) or die ("<p>Couldn't find database.</p>");
     $query = "INSERT INTO routes (user_id, title, description, startlat, startlng, endlat, endlng) VALUES ('$user_id', '$title', '$desc', '$startlat.', '$startlng', '$endlat', '$endlng')";
     if (mysql_query($query)) {
          $get_id = mysql_query("SELECT * FROM routes WHERE user_id, title = '$user_id', '$title'");
          $route_id = mysql_result($get_id, 0,'id');
          $_SESSION['route_id'] = $route_id;
          echo $route_id; 
     } else {
          $message = ("Insert failed. " . mysql_error() . "<br/>" . $query);
     }  
} else {
     $message = "Error: could not connect to the database.";
}
mysql_close($db_server);

我收到了这个警告:

 Warning: mysql_result() expects parameter 1 to be resource, boolean given in... 

指上述代码的这一行:

 $route_id = mysql_result($get_id, 0,'id');

基本上我试图做的是获取新插入行的'id'(id是主键并自动递增)并将其设置为$ route_id,以便在我的下一页上我可以插入此将值作为route_id放入另一个表中,用于将两个表链接在一起。

1 个答案:

答案 0 :(得分:1)

SELECT * FROM routes WHERE user_id, title = '$user_id', '$title'

上面的一个是无效的查询。这就是您的函数失败并且不返回预期资源的原因。其正确的语法是

SELECT * FROM routes WHERE user_id= '$user_id' and title= '$title'