getFirstStatement() public static method

Gets the first full statement in the query.
public static getFirstStatement ( string $query, string $delimiter = null ) : array
$query string The query to be analyzed.
$delimiter string The delimiter to be used.
return array Array containing the first full query, the remaining part of the query and the last delimiter.
Example #1
0
 public function testGetFirstStatement()
 {
     $query = 'USE saki';
     $delimiter = null;
     list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter);
     $this->assertEquals(null, $statement);
     $this->assertEquals('USE saki', $query);
     $query = 'USE sakila; ' . '/*test comment*/' . 'SELECT * FROM actor; ' . 'DELIMITER $$ ' . 'UPDATE actor SET last_name = "abc"$$' . '/*!SELECT * FROM actor WHERE last_name = "abc"*/$$';
     $delimiter = null;
     list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter);
     $this->assertEquals('USE sakila;', $statement);
     list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter);
     $this->assertEquals('SELECT * FROM actor;', $statement);
     list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter);
     $this->assertEquals('DELIMITER $$', $statement);
     $this->assertEquals('$$', $delimiter);
     list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter);
     $this->assertEquals('UPDATE actor SET last_name = "abc"$$', $statement);
     list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter);
     $this->assertEquals('SELECT * FROM actor WHERE last_name = "abc"$$', $statement);
 }