Chinaunix

标题: update语句在mssql中遇到的问题 [打印本页]

作者: xinrao    时间: 2008-07-31 04:11
标题: update语句在mssql中遇到的问题
update语句在mssql中遇到的问题在mysql下运行是ok的,部分代码如下:

$sqlUpdate = sprintf ( "UPDATE cell SET state='%s',operator='%s',time='%s',reason='%s' WHERE cellname='%s'", $_POST["txtState"][$i],$_POST["txtOperator"][$i],$_POST["txtTime"][$i],$_POST["txtReason"][$i],$_POST["hidcellname"][$i]);
mysql_query ( $sqlUpdate ) or die ( mysql_error() );
$a = mysql_affected_rows ( $link );         
if ( $a != -1 && $a != 0) $count++;


然而换了sql server的数据库之后,就发现有问题了,代码如下:

$sqlUpdate = sprintf ( "UPDATE cell SET state='%s',operator='%s',time='%s',reason='%s' WHERE cellname='%s'", $_POST["txtState"][$i],$_POST["txtOperator"][$i],$_POST["txtTime"][$i],$_POST["txtReason"][$i],$_POST["hidcellname"][$i]);
mssql_query ( $sqlUpdate ) or die ( mssql_error() );
$a =mssql_affected_rows ($link);
if ( $a != -1 && $a != 0) $count++;

大家也发现了,就是标红的地方有所不同,其他地方是完全一样的,为什么使用mssql就不成功呢?
此外,我还发现,php下使用mysql的select语句,移植到mssql下也没问题,update语句移植过来的时候就要出问题。

难道是php5中不能使用mssql_affected_rows函数?

请教各位高手!
作者: HonestQiao    时间: 2008-07-31 09:20
不成功是怎么个不成功法呢?

是返回失败,还是指令无法执行?

返回错误信息是什么?

另外,你认为mssql是mysql开发的么?

还有,你看了手册么:
mssql_rows_affected
(PHP 4 >= 4.0.4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_rows_affected — Returns the number of records affected by the query
作者: xinglu1983    时间: 2008-07-31 10:55
函数都写错了,肯定会报你undefined function的,楼主没看到?
作者: xinrao    时间: 2008-07-31 14:37
to:HonestQiao
出错提示:
Call to undefined function mssql_affected_rows() in E:\wwjks\web\celloff.php on line 37

我查了手册,没看出啥问题

谢谢兄弟了!
作者: xinrao    时间: 2008-07-31 14:38
toinglu1983

没看出哪里写错了啊!我改成了mssql_rows_affected,还是一样的结果啊!
作者: woshihaoge    时间: 2008-07-31 14:41
mssql_affected_rows mysql_affected_rows 返回0不是表示执行出错,而是没有影响的记录,比如,UPDAE前后数据没有变化,则影响记录数是0;
如果有错,应该会执行die ( mssql_error() );
作者: xinrao    时间: 2008-07-31 14:46
对不起,确实是写错了,函数改成mssql_rows_affected之后,就可以了!

谢谢楼上的两位兄弟!
作者: yoursmile    时间: 2008-08-02 12:06
函数名写错属于低级错误啊!
作者: pro-m64    时间: 2008-08-02 16:32
Call to undefined function mssql_affected_rows() in E:\wwjks\web\celloff.php on line 37

都没有这个函数你怎么调用?

php.ini打开mssql了?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2