【发布时间】:2010-03-05 22:45:05
【问题描述】:
我有一个这样的 mysqli_query 语句:
$result = mysqli_query($connection,$query)
我想知道:如果我在执行脚本期间多次调用 mysqli_query,它是否使用与数据库的相同连接?还是每次都建立新的连接?
谢谢,
【问题讨论】:
我有一个这样的 mysqli_query 语句:
$result = mysqli_query($connection,$query)
我想知道:如果我在执行脚本期间多次调用 mysqli_query,它是否使用与数据库的相同连接?还是每次都建立新的连接?
谢谢,
【问题讨论】:
它应该使用相同的连接,前提是您不告诉它重新连接。
【讨论】:
mysql_query()(与 mysqli_query() 不同,但在这方面应该表现相同)总是使用最后打开的连接(如果未提供)。
所以对于这个:
$connection1 = mysqli_connect('host1');
$query1 = mysqli_query('SELECT column1');
$query2 = mysqli_query('SELECT column2');
$connection2 = mysqli_connect('host2');
$query3 = mysqli_query('SELECT column3');
$query 和 $query2 都将在与 host1 的连接上运行,$query3 将在与 host2 的连接上运行
【讨论】:
mysqli_query 函数不默认为最后打开的连接,就像它的前身 mysql_query。它要求第一个参数是一个打开的 mysqli 连接的链接,否则它会因“无效参数计数”错误而失败。 - 检查手动输入。注意手册中列出的第一个版本是OOP版本,不是函数而是对象方法。