php - MSSQL PHP 无法删除行

标签 php sql-server tsql rows

首先为我的英语感到抱歉。 我试图删除/插入一些行到 MSSQL 表,但我没有收到任何错误,但它就是不起作用。但是,当我执行 SELECT 语句时,它也能正常工作。

$dbhandle = mssql_connect("SERVERNAME", "username", "password") or die("Couldn't connect to SQL Server on $myServer");
$selected = mssql_select_db("myDB", $dbhandle) or die("Couldn't open database $myDB");
mssql_query("DELETE dbo.import");

服务器 SQL INSTANCE 安装在我的本地计算机上,我是此 SQL Server 的管理员,但 Web 服务器在另一台 PC 上。 我创建了用户并分配了角色 db_owner 当我在另一个 SQL Server 上尝试相同的查询时,它起作用了。

我也试过:

$dbhandle = mssql_connect("SERVERNAME", "username", "password") or die("Couldn't connect to SQL Server on $myServer");
$selected = mssql_select_db("myDB", $dbhandle) or die("Couldn't open database $myDB");
$result = mssql_query("DELETE dbo.import; SELECT * FROM dbo.import;");
$sqlRows = array();
while($row = mssql_fetch_array($result))
{
    $sqlRows[] = $row;
}
echo sizeof($sqlRows);

并且回显返回 0,但是当我从 SSMS 检查时,记录仍然存在。

 DELETE SCHEMA.TABLE; SELECT * FROM SCHEMA.TABLE;

返回 0 行。然后我再试一次

SELECT * FROM dbo.import;

返回 26 行。

最佳答案

好的,我刚刚在网上搜索找到了答案。 如 Shnugo 所述,存在回滚并在查询开头添加 SET IMPLICIT_TRANSACTIONS OFF; 它解决了问题。

谢谢

关于php - MSSQL PHP 无法删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36031830/

相关文章:

php - Register Page不会将数据发送到MySQL数据库

php - 使用列名作为参数在 whereRaw 中调用方法

sql - 将sql server数据库中的所有数据显示到一个表中

c# - Entity Framework 日期组合查询

sql - 基于两列创建数字规则

SQL Server 根据不同标志计算累积和/条件运行总计

php - Apache mod_rewrite : RewriteMap directive using PHP script on Windows machine

php - 在我的 Android 应用程序中获取 localhost 上的 MySQL 的 'easiest' 方法

sql - 刚刚在同一 CTE 中创建的访问列

sql-server - 在 SQL Server 中使用 XQuery 返回重复项