0

提交表单并将数据插入表后,我想搜索此表并设置会话变量以在另一个数据库插入中使用。下面是插入然后搜索新更新的表的 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 以便在我的下一页上我可以将此值插入另一个table 作为 route_id,用于将两个表链接在一起。

4

1 回答 1

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

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

SELECT * FROM routes WHERE user_id= '$user_id' and title= '$title'
于 2013-03-29T17:07:19.543 回答