与sql命令的连接

时间:2013-07-08 13:35:24

标签: php mysql

当从php建立新的mysql连接时,如何执行命令?

$con=mysqli_connect("localhost","root","","gts");

在上面的例子中,我需要传递set sql命令:

sql_log_bin = 0

这将确保此连接执行的命令不会写入二进制日志。我有另一个“正常”连接,它将像往常一样工作,并将所有命令写入二进制日志。

换句话说,我需要2个与mysql的连接,其中一个禁用二进制日志记录。我应该能够决定使用哪一个。它是如何在PHP中完成的?

2 个答案:

答案 0 :(得分:2)

首先创建两个连接。

$con1=mysqli_connect("localhost","root","","gts");
$con2=mysqli_connect("localhost","root","","gts");

然后在其中一个上禁用你的binlog

mysqli_query($con1, "SET sql_log_bin = 0");

答案 1 :(得分:1)

由于您需要两个具有不同参数的连接,因此只需建立两个连接:

$con1 = mysqli_connect("localhost","root","","gts");
$con2 = mysqli_connect("localhost","root","","gts");

然后看看mysqli_options函数:

bool mysqli_options ( mysqli $link , int $option , mixed $value );

在你的情况下,它会像

mysqli_options ( $con1 , MYSQLI_INIT_COMMAND , "SET sql_log_bin = 0" );

在连接1上关闭此二进制日志。

最后,当您需要运行任何查询时,如果您不需要二进制日志记录,请使用$con1,如果您需要,请使用$con2