mysql_real_query和mysql_query有什么区别?我在谷歌上快速搜索了一下,但找不到任何显示两者区别的链接。
发布于 2011-09-20 22:33:41
mysql_real_query()在PHP中不存在。但是,mysqli_real_query()是存在的。
根据官方的MySQL手册(C应用编程接口):http://dev.mysql.com/doc/refman/5.0/en/mysql-real-query.html
mysql_query()不能用于包含二进制数据的语句;必须改用mysql_real_query()。(二进制数据可能包含“\0”字符,mysql_query()将其解释为语句字符串的结尾。)此外,mysql_real_query()比mysql_query()快,因为它不对语句字符串调用strlen()。
关于第二个问题,插入多条记录的最好方法是创建一个具有多个值的插入查询:
INSERT INTO table (col1, col2) VALUES (1, 1), (2,2), (3,3)诸若此类。这将在一个操作中插入所有新行,因此它应该比运行3个查询更快,每行一个查询。
PS:您应该考虑使用支持预准备语句的扩展,比如MySQLi (请注意i),或者更好的PDO。准备好的语句不仅更安全(如果使用得当,它们对SQL注入是100%安全的),而且还允许您执行与本页面示例中看到的操作类似的操作:http://fr2.php.net/manual/en/pdo.prepare.php (当然,您也可以使用INSERT查询做到这一点)。啊,PDO也是面向对象的,这很好:)
发布于 2011-09-20 22:33:09
不同之处仅在于C API。一个接受C样式的字符串,另一个接受buffer和长度属性以支持NUL字节。PHP内部使用mysql_real_query。
发布于 2011-09-20 22:30:51
没有官方的PHP函数mysql_real_query
https://stackoverflow.com/questions/7486836
复制相似问题