我使用 PHP 编写服务器端脚本,使用 mysql 服务器编写数据库。如果我使用mysql_insert_id()
,那么它会给出“0”并且使用LAST_INSERT_ID()
会导致错误“对象返回空描述”。当我在 Objective-C 的客户端调试时看到这个错误。我的表的 id 列是自动生成的。我没有明确传递 id。
下面是 PHP 代码:
// Connect to our database
$db = Frapi_Database::getInstance();
$sql = "INSERT INTO userTrip
(userId, fromLat, fromLon, fromLoc, fromPOI,
toLat, toLon, toLoc, toPOI,
tripFinished, isMatched, departureTime, createdAt)
values
(".$userId.",".$fromLat.",".$fromLon.", GeomFromText('POINT($fromLat $fromLon)')".",'".$fromPOI."',".$toLat.","
.$toLon.", GeomFromText('POINT($toLat $toLon)')".",'".$toPOI."',0,0,'".
$departureTime."','".date('Y-m-d H:i:s')."')";
$stmt = $db->prepare($sql);
if (!$stmt->execute())
throw new Frapi_Error('ERROR_INSERTING_RECORD');
$lastId = LAST_INSERT_ID();
$this->data['tripId'] = $lastId;
$db = null;