【发布时间】:2013-11-22 14:04:19
【问题描述】:
正如标题所说,我希望在 INSERT 到数据库之后返回一行的 id。
我有 2 个函数,一个用于连接数据库:
function db_connect() {
$host = "host";
$user = "user";
$pwd = "pwd";
$database = "db";
$con;
try{
$conn = new PDO( "sqlsrv:Server= ".$host." ; Database = ".$database." ", $user, $pwd);
}
catch(Exception $e){
die(print_r($e));
}
return $conn;
}
还有一个插入新记录:
function setTiptile($name,$cols,$rows) {
$connect = db_connect();
$query = "INSERT INTO data(ID, name, cols, rows) VALUES(NEWID(),?,?,?)";
$stmt = $connect->prepare($query);
$stmt->bindValue(1, $name);
$stmt->bindValue(2, $cols);
$stmt->bindValue(3, $rows);
$stmt->execute();
return $connect->lastInsertId('ID'); // This should work, but doesn't, why?
}
我需要最后一个函数返回插入行的ID,我该怎么做?
编辑: 正如标题所说,ID 是一个唯一标识符,不知道这是否会改变事情。
编辑:好的,显然我必须使用:$connect->lastInsertId('ID');,但这根本没有返回任何内容。这可能是什么原因?新行已在数据库中创建。
【问题讨论】:
-
他们没有使用 MySQL
标签: php sql sql-server uniqueidentifier