我在Windows和Linux上使用PHP 5.4.24和Microsoft SQL Server 2008r2。在Linux上,我使用freetds-0.91-clean。在Windows上,在phpinfo()中,mssql扩展名说"库版本:FreeTDS"
该函数mssql_affected_rows:
- 适用于 Linux,但不适用于 Windows
- 与其他数据库(例如sybase_affected_rows、mysql_affected_rows pg_affected_rows)一致
- 未记录在 www.php.net
该函数mssql_rows_affected:
- 适用于Windows,但不适用于Linux
- 与其他数据库不一致(例如sybase_affected_rows、mysql_affected_rows pg_affected_rows)
- 记录在 www.php.net
为什么是这两个名字?这使得很难在两个系统上运行相同的代码。
对于未来的读者,这是我编写的包装器,适用于这两种情况:
function GetAffectedRows()
{
if ( function_exists( 'mssql_affected_rows' ) )
return mssql_affected_rows( $Conn ) ;
else
return mssql_rows_affected( $Conn ) ;
}
参考:http://php.net/manual-lookup.php?pattern=mssql_affected_rows
PHP 在
很多方面都不一致,有人说它有一个"分形糟糕的设计",这是真的......在各个方面和更新越来越多的失败。
对于我和许多其他人来说,如果没有 IDE 或至少像记事本++/ST 这样的好编辑器,函数中的针/大海捞针的顺序令人恼火
http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/