执行SQL语句时,例如INSERT INTO table... ON DUPLICATE KEY UPDATE ...我依靠mysql_affected_rows()来确定是否执行了插入或更新.作为http://dev.mysql.com/doc/refman/5.1/en/mysql-affected-rows.html上的mysql站点,它指出:
对于INSERT ... ON DUPLICATE KEY UPDATE语句,如果将行作为新行插入,则affected-rows值为1,如果更新现有行,则为2.
一切正常,直到我们升级到MySQL 5.1.16,当时许多查询现在有mysql_affected_rows()返回MINUS ONE(-1)
在http://dev.mysql.com/doc/refman/5.1/en/mysql-store-result.html上的MySQL站点上建议的解决方案是在每次执行函数mysql_query()之后调用函数mysql_store_result()在选择查询上.
但是,PHP似乎没有定义这样的功能.
如何使用PHP和MySQL 5.1.16使mysql_affected_rows()正常工作?