当从php建立新的mysql连接时,我如何执行命令?
$con=mysqli_connect("localhost","root","","gts");
在上面的exmaple中,我需要传递set-sql命令:
sql_log_bin = 0
这将确保此连接执行的命令不会写入二进制日志。我有另一个"正常"连接,它将照常工作,并将所有命令写入二进制日志。
换句话说,我需要两个到mysql的连接,其中一个禁用了二进制日志记录。我应该能够决定使用哪一个。它是如何在PHP中完成的?
首先创建两个连接。
$con1=mysqli_connect("localhost","root","","gts");
$con2=mysqli_connect("localhost","root","","gts");
然后在其中一个上禁用你的binlog
mysqli_query($con1, "SET sql_log_bin = 0");
由于您需要两个具有不同参数的连接,只需建立两个连接:
$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
。