0
当我尝试在我的数据库中插入一个值时,它返回我没有错误,但它没有插入任何东西,在sql server上它完美地工作。用sqlsrv插入查询
<?php
$serverName = "12.15.88.81";
$connectionInfo = array("Database"=>"Dcs", "UID"=>"sa", "PWD"=>"123456");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
if (sqlsrv_begin_transaction($conn) === false) {
die(print_r(sqlsrv_errors(), true));
}
$sql = "INSERT INTO [dbo].[Dcs_name] (ID,NAME) VALUES (?,?)";
$params = array('11','Ani');
$stmt = sqlsrv_query($conn, $sql, $params);
$stmt = sqlsrv_query($conn, $sql, $params);
if($stmt === false) {
if(($errors = sqlsrv_errors()) != null) {
foreach($errors as $error) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
}
?>
我没有使用sql-server函数,但它看起来像你正在开始一个事务,你需要提交这个更改来应用。 http://php.net/manual/en/function.sqlsrv-commit.php另外,不要执行查询两次,我会有'id'自动增量。 – chris85
检查此:最佳方式找出 - https://stackoverflow.com/questions/42648/best-way-to-get-identity-of-inserted-row?rq=1 – vbRocks