2012-10-09 67 views
2

當使用php運行多重查詢時,是否有最大數量的查詢?多查詢中查詢的最大數量是多少?

$conn = new mysqli($db_hostname, $db_username, $db_password); 
    if (mysqli_connect_errno()) { 
     exit('Connect failed: '. mysqli_connect_error()); 
    } 

    $sql = "CREATE TABLE IF NOT EXISTS......"; 
    $sql .= "CREATE TABLE IF NOT EXISTS......"; 
    $sql .= "CREATE TABLE IF NOT EXISTS......"; 
    $sql .= "INSERT ......"; 
    $sql .= "INSERT ......"; 
    <and so on> 
    mysqli_autocommit($conn, false); 
    mysqli_multi_query($conn, $sql); 
    mysqli_rollback($conn); 
+0

只是爲了好奇,我的代碼似乎在幾個querryies後freez.but但如果我單獨運行它們的代碼作品 – sadpcd201209

+0

而且一旦你測試這個代碼會發生什麼? – desbest

+0

一些前臺querries works.but一些結束不工作。我嘗試在另一個php文件中運行它們在分離querry中,它的工作原理 – sadpcd201209

回答

0

我現在不wheter PHP函數mysqli_multi_query通過使用MySQL API的multiquery possibilitie小號來實現,或者如果此分割在PHP端的語句。

但是,您可以嘗試在my.cnf中提高net_buffer_length butmax_allowed_packet。但我的印象是這些是每個語句緩衝區。

要明確給那些在這裏絆跌的人,不要像OP那樣出於好奇,而是因爲他們撞到了最大值:通常有other waysmany INSERTs

+0

我知道這個線程有點舊,但通過PHP源代碼(5.6)mysqli_multi_query函數調用mysql_real_query並且不會在內部緩衝查詢請求。 –

相關問題