Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 mssql_num_行错误,但查询有效_Php_Sql Server 2005 - Fatal编程技术网

Php mssql_num_行错误,但查询有效

Php mssql_num_行错误,但查询有效,php,sql-server-2005,Php,Sql Server 2005,您好,我正在从一个php应用程序向远程MSSQL 2005服务器写入数据,在这种情况下,MSSQL_num_rows出现错误,并显示“MSSQL_num_rows()期望参数1为资源,布尔给定”消息。。。。但我不明白为什么 $writeitem = "INSERT INTO RebateSubmissionProducts VALUES ('" . $buyproduct . "'," . $quantity . ",CAST('" . $itemUUID . "' as UNIQUEIDENT

您好,我正在从一个php应用程序向远程MSSQL 2005服务器写入数据,在这种情况下,MSSQL_num_rows出现错误,并显示“MSSQL_num_rows()期望参数1为资源,布尔给定”消息。。。。但我不明白为什么

$writeitem = "INSERT INTO RebateSubmissionProducts VALUES ('" . $buyproduct . "'," . $quantity . ",CAST('" . $itemUUID . "' as UNIQUEIDENTIFIER),CAST('" . $eligible . "' as UNIQUEIDENTIFIER),CAST('" . $prodID . "' as UNIQUEIDENTIFIER),CAST('" . $UUID . "' as UNIQUEIDENTIFIER),NULL)";

$itemresult = mssql_query($writeitem);
if (!mssql_num_rows($itemresult)){
    echo 'Problem writing to RebateSubmissionProducts';
} else {
    echo 'Success writing to RebateSubmissionProducts';
}
mssql_free_result($itemresult);
结果是我得到了错误消息,但是插入工作正常

顺便说一句,所有的输入都是通过HTMLPurifier运行的,所以不要对我太苛刻了。托管公司无法设置PDO_DBLIB,因此我无法使用PDO/绑定参数。。。。我也无法访问MS服务器来创建存储过程

你知道为什么php认为$itemresult是布尔值吗?(mssql_num_rows和mssql_free_result都会发出相同的错误消息)

如前所述,mssql_num_rows()根据查询以不同的方式响应。在我的例子中,我正在运行一个insert,因此当它运行时:

$itemresult = mssql_query($writeitem);

$itemresult是布尔值(TRUE),因为插入成功,所以mssql\u num\u行(和mssql\u free\u result()都发出了警告,因为没有结果集。

mssql\u查询失败时返回布尔值;尝试运行
mssql\u get\u last\u message()
查看数据库中的错误消息是什么。这是奇怪的部分-记录被插入,所有数据都是我想要的…我刚刚尝试了mssql\u get\u last\u message(),消息为空这很奇怪;您是否尝试过运行
mssql\u get\u last\u message()
看看里面有没有什么东西?所以-我刚刚尝试了mssql\u get\u last\u message(),消息是空的。记录被添加了。哦,现在这是铃声。你能运行
var\u dump($itemresult)
看看它返回什么吗?