Du bist hier: Tips » Scripte » PHP
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 ] )


    Parameter-Liste:
NameBeschreibung
linkNur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.
queryDie Abfrage, als String.
Dieser Parameter kann eine oder mehrere Parametermarken in der SQL-Anweisung sind durch Fragezeichen (?) Zeichen Einbettung an den entsprechenden Stellen.
resultmodeEntweder 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 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)


Eingabe:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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

Beschreibung:
Version Beschreibung
5.3.0 Hinzugefügt wurde die Möglichkeit der asynchronen Abfragen.
MySQLi Funktionen
To Top