PHP kézikönyv
Előző |  | Következő

# mysql_query

(PHP 3, PHP 4 , PHP 5)

mysql_query -- MySQL kérést küld a szervernek

## Leírás

resource mysql_query ( string query [, resource link_identifier] )

A mysql_query() függvény kérést küld a megadott kapcsolat-azonosítójú szerver aktív adatbázisához. Ha nem adsz meg link_identifier-t, akkor a legutóbb megnyitott kapcsolatot használja a függvény. Ha nincs nyitva ilyen kapcsolat, akkor a függvény megpróbál nyitni egyet, mintha a mysql_connect() függvényt hívtuk volna paraméterek nélkül. A kérés eredménye pufferelt.

> Megjegyzés: A kérésnek nem szabad pontosvesszővel végződnie.

A SELECT utasításra alkalmazott mysql_query() függvény eredményazonosítóval vagy `FALSE`-sal tér vissza a kérés végrehajtásától függően. Egyéb esetekben mysql_query() függvény TRUE-val (nemnulla) vagy FALSE-szal tér vissza, attól függően, hogy a kérés teljesítése sikeres volt-e. A TRUE visszatérési érték azt jelenti, hogy a kérés szintaktikailag helyes volt, és lefuttatta a szerver. Az érintett sorok számáról azonban nem mond semmit. Előfordulhat ugyanis, hogy a kérés sikeresen lefutott, de nem érintett egyetlen sort sem, vagy az eredményben egyetlen sor sincs.

A következő kérés szintaktikailag rossz, igy a mysql_query() függvény meghiúsul és `FALSE` eredményt ad:

Példa 1. mysql_query() példa

`<?php $eredmeny = mysql_query ("SELECT * WHERE 1=1"); if (!$eredmeny) { die('Érvénytelen lekérdezés:' . mysql_error()); } ?>`

Az alábbi kérés szemantikailag helytelen, ha nincs my_col nevű oszlop a my_tbl nevű táblában, így a mysql_query() meghiúsul és `FALSE` értékkel tér vissza.

Példa 2. mysql_query()

`<?php $eredmeny = mysql_query ("SELECT my_col FROM my_tbl") or die("Érvénytelen kérés"); ?>`

A mysql_query() függvény akkor is meghiúsul és `FALSE` értékkel tér vissza, ha nincs megfelelő engedélyed a kérés által hivatkozott táblá(k)hoz.

Feltéve, hogy a kérés sikeres, meghívhatod a mysql_num_rows() függvényt, hogy kiderítsd, hány sort kaptál vissza a SELECT kérésedre, vagy a mysql_affected_rows() függvényt, hogy megtudd hány sort érintett a DELETE, INSERT, REPLACE vagy UPDATE kérésed.

SELECT kérés esetében a mysql_query() függvény egy új eredmény-azonosítót ad vissza, amit később a mysql_fetch_array() vagy más eredménytáblákkal foglalkozó függvénnyel használhatsz. Ha az eredményre már nincs szükség és memóriafóbiád van, akkor a mysql_free_result() függvénnyel a foglalt memóriát felszabadíthatod, normál esetben megvárod a program végét és a memória felszabadul.

Lásd még a mysql_num_rows(), mysql_affected_rows(), mysql_db_query(), mysql_unbuffered_query(), mysql_free_result(), mysql_fetch_array(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_result(), mysql_select_db() és mysql_connect() függvényeket!

Előző | Tartalom | Következő
mysql_ping | Fel | mysql_real_escape_string