我理解sqlite_exec
适用于不返回结果集的查询,sqlite_query
适用于返回结果集的查询。
但是我可以将sqlite_query
用于所有类型的查询,就像mysql_query
一样,是否有任何副作用?
答案 0 :(得分:2)
sqlite_query
sqlite_query()返回一个缓冲的,可搜索的结果句柄。这对于需要能够随机访问行的相当小的查询非常有用。缓冲的结果句柄将分配内存来保存整个结果,并且在获取之前不会返回。如果您只需要对数据进行顺序访问,建议您使用性能更高的sqlite_unbuffered_query()代替。
sqlite_exec
此函数将返回布尔结果;成功为TRUE,失败为FALSE。如果需要运行返回行的查询,请参阅sqlite_query()。
我不认为总是使用sqlite_query会有那么大的区别,虽然你可能会丢失一些时钟周期,而sqlite_query确定没有结果。这两个函数在失败时返回FALSE,因此只要你总是检查FALSE而不是TRUE,你就可以逃脱它。
如果您正在进行简单的PHP数据库工作,您可能还需要查看sqlite_unbuffered_query,并按顺序迭代查询结果。
我检查了C API,并没有说明使用一个函数而不是另一个函数的性能损失。