Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mysqli_query(3) [php man page]

MYSQLI_QUERY(3) 							 1							   MYSQLI_QUERY(3)

mysqli::query - Performs a query on the database

       Object oriented style

SYNOPSIS
mixed mysqli::query (string $query, [int $resultmode = MYSQLI_STORE_RESULT]) DESCRIPTION
Procedural style mixed mysqli_query (mysqli $link, string $query, [int $resultmode = MYSQLI_STORE_RESULT]) Performs a $query against the database. For non-DML queries (not INSERT, UPDATE or DELETE), this function is similar to calling mysqli_real_query(3) followed by either mysqli_use_result(3) or mysqli_store_result(3). Note In the case where you pass a statement to mysqli_query(3) that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver ( mysqlnd) or MySQL Client Library ( libmysqlclient). The behavior is as follows: o mysqlnd on Linux returns an error code of 1153. The error message means got a packet bigger than max_allowed_packet bytes. o mysqlnd on Windows returns an error code 2006. This error message means server has gone away. o libmysqlclient on all platforms returns an error code 2006. This error message means server has gone away. PARAMETERS
o $ link -Procedural style only: A link identifier returned by mysqli_connect(3) or mysqli_init(3) o $query - The query string. Data inside the query should be properly escaped. o $resultmode - Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used. If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result(3) With MYSQLI_ASYNC (available with mysqlnd), it is possible to perform query asynchronously. mysqli_poll(3) is then used to get results from such queries. RETURN VALUES
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query(3) will return a mysqli_result object. For other successful queries mysqli_query(3) will return TRUE. CHANGELOG
+--------+--------------------------------------+ |Version | | | | | | | Description | | | | +--------+--------------------------------------+ | 5.3.0 | | | | | | | Added the ability of async queries. | | | | +--------+--------------------------------------+ EXAMPLES
Example #1 mysqli::query example Object oriented style <?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s ", $mysqli->connect_error); exit(); } /* Create table doesn't return a resultset */ if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) { printf("Table myCity successfully created. "); } /* Select queries return a resultset */ if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows. ", $result->num_rows); /* free result set */ $result->close(); } /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */ if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) { /* Note, that we can't execute any functions which interact with the server until result set was closed. All calls will return an 'out of sync' error */ if (!$mysqli->query("SET @a:='this will not work'")) { printf("Error: %s ", $mysqli->error); } $result->close(); } $mysqli->close(); ?> Procedural style <?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s ", mysqli_connect_error()); exit(); } /* Create table doesn't return a resultset */ if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) { printf("Table myCity successfully created. "); } /* Select queries return a resultset */ if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows. ", mysqli_num_rows($result)); /* free result set */ mysqli_free_result($result); } /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */ if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) { /* Note, that we can't execute any functions which interact with the server until result set was closed. All calls will return an 'out of sync' error */ if (!mysqli_query($link, "SET @a:='this will not work'")) { printf("Error: %s ", mysqli_error($link)); } mysqli_free_result($result); } mysqli_close($link); ?> The above examples will output: Table myCity successfully created. Select returned 10 rows. Error: Commands out of sync; You can't run this command now SEE ALSO
mysqli_real_query(3), mysqli_multi_query(3), mysqli_free_result(3). PHP Documentation Group MYSQLI_QUERY(3)
Man Page