PHP
Referenzliste
mysqli_query
MySQLi Funktionen
Befehl:
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
Parameter-Liste:
Beschreibung | |
---|---|
Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt. | |
Die Abfrage, als String. Dieser Parameter kann eine oder mehrere Parametermarken in der SQL-Anweisung sind durch Fragezeichen (?) Zeichen Einbettung an den entsprechenden Stellen. | |
Entweder die Konstante MYSQLI_USE_RESULT oder MYSQLI_STORE_RESULT je nach dem gewünschten Verhalten. Standardmäßig MYSQLI_STORE_RESULT verwendet wird.Wenn Sie MYSQLI_USE_RESULT alle weiteren Anrufe werden Fehler out of sync Befehle, wenn Sie a href rufen mysqli_free_result()Mit MYSQLI_ASYNC (verfügbar mit mysqlnd), ist es möglich, Abfrage asynchron durchzuführen. mysqli_poll() wird dann verwendet, um Ergebnisse aus solchen Fragen zu bekommen. |
Rückgabewerte:
Return
FALSE
im Fehlerfall. Für eine erfolgreiche SELECT, SHOW, DESCRIBE oder EXPLAIN-Abfragen mysqli_query() wird eine Rückkehr MySQLi_Result-Objekt. Für andere erfolgreiche Anfragen mysqli_query() wird zurückkehren TRUE
. Beschreibung:
Führt eine
Für Nicht-DML-Abfragen (nicht INSERT, UPDATE oder DELETE), ist diese Funktion ähnlich Aufruf mysqli_real_query() mysqli_use_result() oder folgen mysqli_store_result().
In dem Fall, in dem Sie eine Erklärung mysqli_query() ist, dass mehr als max_allowed_packet des Servers, der zurück Fehler passieren Codes sind unterschiedlich, je nachdem, ob Sie MySQL-Native-Treiber (mysqlnd) oder MySQL-Client-Bibliothek (libmysqlclient) werden. Das Verhalten ist wie folgt:
Abfrage
für die Datenbank.Für Nicht-DML-Abfragen (nicht INSERT, UPDATE oder DELETE), ist diese Funktion ähnlich Aufruf mysqli_real_query() mysqli_use_result() oder folgen mysqli_store_result().
In dem Fall, in dem Sie eine Erklärung mysqli_query() ist, dass mehr als max_allowed_packet des Servers, der zurück Fehler passieren Codes sind unterschiedlich, je nachdem, ob Sie MySQL-Native-Treiber (mysqlnd) oder MySQL-Client-Bibliothek (libmysqlclient) werden. Das Verhalten ist wie folgt:
- mysqlnd auf Linux gibt einen Fehlercode 1153. Die Fehlermeldung bedeutet " bekam ein Paket grösser als max_allowed_packet Bytes".
- mysqlnd auf Windows gibt einen Fehlercode 2006. Diese Fehlermeldung bedeutet "Server hat sich gegangen".
- libmysqlclient auf allen Plattformen gibt einen Fehlercode 2006. Diese Fehlermeldung bedeutet "Server hat sich verabschiedet".
Aktiv in Version:
(PHP 5, PHP 7)
Siehe auch:
Führt eine SQL-Abfrage
Führt eine Abfrage auf die Datenbank
Gibt den Speicher mit einem Ergebnis verbunden
mysqli_query() - Beispiel: Objektorientierter Stil
(mysqli::query)
(mysqli::query)
Eingabe:
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $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.\n"); } /* Select queries return a resultset */ if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows.\n", $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\n", $mysqli->error); } $result->close(); } $mysqli->close(); ?>
Ausgabe:
Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync; You can't run this command now
Select returned 10 rows.
Error: Commands out of sync; You can't run this command now
Beschreibung:
Beschreibung | |
---|---|
5.3.0 | Hinzugefügt wurde die Möglichkeit der asynchronen Abfragen. |
mysqli_query() - Beispiel 2: Prozeduraler Stil
(mysqli::query)
(mysqli::query)
Eingabe:
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", 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.\n"); } /* Select queries return a resultset */ if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows.\n", 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\n", mysqli_error($link)); } mysqli_free_result($result); } mysqli_close($link); ?>
Ausgabe:
Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync; You can't run this command now
Select returned 10 rows.
Error: Commands out of sync; You can't run this command now
Beschreibung:
Beschreibung | |
---|---|
5.3.0 | Hinzugefügt wurde die Möglichkeit der asynchronen Abfragen. |
MySQLi Funktionen