Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SQL Server插入问题_Php_Sql Server - Fatal编程技术网

PHP SQL Server插入问题

PHP SQL Server插入问题,php,sql-server,Php,Sql Server,以下语句在MS SQL server management studio中运行良好。但是,当我尝试通过PHP执行时,插入不会发生,也不会返回错误。我知道我的连接有效,所有select语句都正确返回。我错过了什么 DECLARE @id bigint; SET @id = (SELECT MAX(application_track_id) + 1 FROM application_track_data); INSERT INTO application_track_data (applicatio

以下语句在MS SQL server management studio中运行良好。但是,当我尝试通过PHP执行时,插入不会发生,也不会返回错误。我知道我的连接有效,所有select语句都正确返回。我错过了什么

DECLARE @id bigint; SET @id = (SELECT MAX(application_track_id) + 1 FROM application_track_data); INSERT INTO application_track_data (application_track_id,user_id, action_key, action, ip_address, session_id, application) VALUES (@id,1,'584','login','192.168.37.60','05sn3618p61dvmml6pkefuteg2','akamata');
下面是我用来执行sql的代码

$result = mssql_query($sql);
if(!$result)
{
print "Error:" . mssql_get_last_message();
}
else
print "Success";

您可能需要将其放入一个过程中。由于SQL语句中有多个命令,我相信大多数db驱动程序只能调用一条语句(或一条T-SQL语句)。所以,如果需要发生多个事件,请将其转换为存储过程,或者根据返回值等执行每个单独的语句

更新:尝试以下操作:


我想它确实允许多个查询,但您需要找到正确的查询。还有一些数据库库具有*\u query\u multiple函数,但仅在mysqli库或maxdb库中。

我猜您是在关闭自动提交的情况下运行的,而不是提交事务。

这种活动实际上应该在存储过程中。更易于管理,更易于从php调用。您还需要每次提交这些更改。

单独尝试insert语句。如果这样做有效,那么您就知道有多个语句会导致错误(并且需要用存储过程替换查询)。如果失败,那么jsight是对的,这是自动提交的问题


就我个人而言,我会把赌注放在多个陈述上,但这应该会给你一条确定根本原因的途径(可能两者都有问题)。

好的,我已经让它工作了。我转而使用Microsoft提供的SQL server驱动程序,可在此处找到


显然,如果我单独运行insert语句,mssql驱动程序无法处理某些数据类型,如bigint。

。我得到“将数据类型varchar转换为数值时出错”。如果我将insert语句缩减为唯一必需的字段,那么仍然会出现错误。bigint数据类型会导致问题吗?好的,我把它放在一个存储过程中。现在我得到以下错误:将数据类型varchar转换为数值时出错。SP在Management Studio中运行良好。我在表结构中看到的唯一一件事是其中一列是bigint。这会引起问题吗。