API16

Difference between revisions of "JDatabaseMySQLi/queryBatch"

From Joomla! Documentation

< API16:JDatabaseMySQLi
(New page: ===Description=== Execute a batch query <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>Edit Descripton<nowiki>]</nowiki...)
 
m (preparing for archive only)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
Execute a batch query
 
Execute a batch query
  
<span class="editsection" style="font-size:76%;">
 
<nowiki>[</nowiki>[[Description:JDatabaseMySQLi/queryBatch|Edit Descripton]]<nowiki>]</nowiki>
 
</span>
 
  
{{Description:JDatabaseMySQLi/queryBatch}}
+
 
 +
<! removed transcluded page call, red link never existed >
  
 
===Syntax===
 
===Syntax===
Line 81: Line 79:
 
</source>
 
</source>
  
<span class="editsection" style="font-size:76%;">
+
 
<nowiki>[</nowiki>[[SeeAlso:JDatabaseMySQLi/queryBatch|Edit See Also]]<nowiki>]</nowiki>
+
<! removed transcluded page call, red link never existed >
</span>
 
{{SeeAlso:JDatabaseMySQLi/queryBatch}}
 
  
 
===Examples===
 
===Examples===
<CodeExamplesForm />
+
=== Code Examples ===
 
<dpl>
 
<dpl>
 
  noresultsheader=\n
 
  noresultsheader=\n
 
  category=queryBatch
 
  category=queryBatch
 
  category=JDatabaseMySQLi
 
  category=JDatabaseMySQLi
  category=CodeExample
+
  namespace=CodeExample
 
  category=MethodExample
 
  category=MethodExample
 
  include=*
 
  include=*
 
  format= ,,,
 
  format= ,,,
 
</dpl>
 
</dpl>
 +
[[Category:Archived pages API16]]

Latest revision as of 20:29, 24 March 2017

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Execute a batch query


<! removed transcluded page call, red link never existed >

Syntax[edit]

queryBatch($abort_on_error=true, $p_transaction_safe=false)
Parameter Name Default Value Description
$abort_on_error true
$p_transaction_safe false

Returns[edit]

mixed A database resource if successful, FALSE if not.

Defined in[edit]

libraries/joomla/database/database/mysqli.php

Importing[edit]

jimport( 'joomla.database.database.mysqli' );

Source Body[edit]

public function queryBatch($abort_on_error=true, $p_transaction_safe = false)
{
        $sql = $this->replacePrefix((string) $this->_sql);
        $this->_errorNum = 0;
        $this->_errorMsg = '';
        if ($p_transaction_safe) {
                $sql = rtrim($sql, "; \t\r\n\0");
                $si = $this->getVersion();
                preg_match_all("/(\d+)\.(\d+)\.(\d+)/i", $si, $m);
                if ($m[1] >= 4) {
                        $sql = 'START TRANSACTION;' . $sql . '; COMMIT;';
                }
                else if ($m[2] >= 23 && $m[3] >= 19) {
                        $sql = 'BEGIN WORK;' . $sql . '; COMMIT;';
                }
                else if ($m[2] >= 23 && $m[3] >= 17) {
                        $sql = 'BEGIN;' . $sql . '; COMMIT;';
                }
        }
        $query_split = $this->splitSql($sql);
        $error = 0;

        foreach ($query_split as $command_line) {
                $command_line = trim($command_line);
                if ($command_line != '') {
                        $this->_cursor = mysqli_query($this->_connection, $command_line);
                        if ($this->_debug) {
                                $this->_ticker++;
                                $this->_log[] = $command_line;
                        }

                        if (!$this->_cursor) {
                                $error = 1;
                                $this->_errorNum .= mysqli_errno($this->_connection) . ' ';
                                $this->_errorMsg .= mysqli_error($this->_connection)." SQL=$command_line <br />";
                                if ($abort_on_error) {
                                        return $this->_cursor;
                                }
                        }
                }
        }
        return $error ? false : true;
}


<! removed transcluded page call, red link never existed >

Examples[edit]

Code Examples[edit]