Index: phpdoc/hu/functions/mysql.xml diff -u /dev/null phpdoc/hu/functions/mysql.xml:1.3 --- /dev/null Thu Aug 30 12:57:44 2001 +++ phpdoc/hu/functions/mysql.xml Thu Aug 30 12:57:44 2001 @@ -0,0 +1,1907 @@ + + + + + MySQL függvények + MySQL + + + E függvények segítségével érheted el a MySQL adatbázisokat. Ahhoz, hogy + ezeket a függvényeket használhasd, a php-t a + opcióval kell lefordítanod. + Ha nem adod meg az opció után a mysql elérési útvonalát, akkor a php a + beépített mysql kliens könyvtárat fogja használni. Ha a felhasználók más + alkalmazásokat is használnak, amelyek mysql-t használnak (például a php + 3-as és 4-es verzióját, vagy az auth-mysql-t), akkor mindig meg kell adni + a mysql elérési útvonalát a + formában. + Ez ki fogja kényszeríteni, hogy a meglévő mysql kliens könyvtárat + használja a php, elkerülve az ebből adódó ütközéseket. + + + A MySQL-ről további információt a + &url.mysql; címen találsz. + + + A MySQL dokumentációját pedig a &url.mysql.docs;. + + + + + + + mysql_affected_rows + Az előző MySQL műveletben érintett sorok számát adja + meg + + + Leírás + + + int mysql_affected_rows + int + + link_identifier + + + + + + A mysql_affected_rows függvény az előző + link_identifier-rel azonosított kapcsolatban kiadott INSERT, + UPDATE vagy DELETE kérésben érintett sorok számát adja vissza. + Ha nem adsz meg kapcsolat-azonosítót, akkor az utoljára megnyitott + kapcsolatról kapsz információt. + + + + Ha transzakciókezelést hasznnálsz, akkor a + mysql_affected_rows függvényt az INSERT, UPDATE, + vagy DELETE kérés után közvetlenül, nem a kommit után kell meghívni. + + + + Ha az utolsó lekérdezés egy WHERE feltétel nélküli DELETE volt, akkor bár + a táblából minden sor törlődik, a függvény nullát fog visszaadni. + + + Ez a parancs nem hatékony a lekérdező SELECT kéréssel együtt használva, + csak azokkal a lekérdezésekkel, melyek módosítják a táblázat sorait. + Ha egy SELECT lekérdezésben kapott sorok számát szeretnéd megkapni, + akkor használd a mysql_num_rows függvényt. + + + Ha az utolsó kérés meghiusul, akkor a függvény -1-gyel tér vissza. + + + + + + + mysql_change_user + + Aktív kapcsolat felhasználójának módosítása + + + + Leírás + + + int mysql_change_user + string user + string password + string + + database + + + int + + link_identifier + + + + + + A mysql_change_user függvény megváltoztatja az + aktuális, vagy az opcionális paraméterben megadott azonosítójú kapcsolat + felhasználóját. Ha egy adatbázis nevét megadod, akkor ez lesz az + alapértelmezett adatbázis. Ha az új név-jelszó páros helytelen, akkor a + függvényhívás előtti kapcsolat él tovább. + A függvény a PHP 3.0.13 változatával került a nyelvbe és + MySQL 3.23.3, vagy későbbi változata szükséges a használatához. + + + + + + + mysql_close + Lezár egy MySQL kapcsolatot + + + Leírás + + + int mysql_close + int + + link_identifier + + + + + + A függvény értéke igaz, ha a művelet sikerült, hamis, ha nem. + + A mysql_close függvény bezárja az adott + azonosítójú MySQL kapcsolatot. Ha nem adsz meg + link_identifier paramétert, akkor az utoljára + megnyitott kapcsolatot zárja le. + + + A mysql_close függvény használata általában + szükségtelen, mert a nem perzisztens kapcsolatok a szkript végén + bezáródnak. + + + + A mysql_close függvény nem zárja be a + mysql_pconnect függvénnyel megnyitott kapcsolatokat. + + + + MySQL close példa + +<?php + $link = mysql_connect ("kraemer", "marliesle", "titok") + or die ("Nem lehet csatlakozni"); + print ("A csatlakozás sikerült"); + mysql_close ($link); +?> + + + + Lásd még a mysql_connect és a + mysql_pconnect függvényeket! + + + + + + + mysql_connect + Kapcsolatot nyit meg egy MySQL szerverhez + + + Leírás + + + int mysql_connect + string + + hostname + :port + :/path/to/socket + + + + string + + username + + + string + + password + + + + + + Pozitív MySQL azonosítóval tér vissza, ha a csatlakozás sikerült. Hiba + esetén pedig hibaüzenetet ír a kimenetre és 0-val tér vissza. + + + A mysql_connect függvény kapcsolatot nyit meg egy + MySQL szerverhez. A paramétereket elhagyhatod. Az alapértelmezett + értékek: host:port = 'localhost:3306', + username = a folyamat tulajdonosának belépési neve + password = üres karakterlánc. + + + A hostname paraméter tartalmazhat egy portszámot is, például: + "hostname:port" vagy tartalmazhatja a MySQL socket elérési + útvonalát, például: ":/path/to/socket". Az utóbbi hostname + paramétert használva is a helyi MySQL szerverhez próbál majd kapcsolódni + a függvény. + + + A ":port" formátumú kiegészítés a PHP 3.0B4-es változatában + került a nyelvbe. + + + A ":/path/to/socket" formát pedig a PHP 3.0.10-es verziójától + kezdve használhatjuk. + + + A sikertelen kapcsolatkor kiírt hibaüzenetet elnyomhatod, ha '@' jelet + írsz a függvény elé. + + + + + Ha a mysql_connect függvényt kétszer ugyanazokkal a + paraméterekkel hívod meg, akkor nem jön létre újabb kapcsolat; a függvény + a már meglévő kapcsolat azonosítóját fogja visszaadni. + + + A kapcsolat a PHP program végén bezárul, ha előbb nem zártuk volna le a + mysql_close függvénnyel. + + + MySQL connect példa + +<?php + $link = mysql_connect ("kraemer", "marliesle", "titok") + or die ("Nem lehet csatlakozni"); + print ("A csatlakozás sikerült"); + mysql_close ($link); +?> + + + Lásd még a + mysql_pconnect és + mysql_close függvényeket. + + + + + + + mysql_create_db + Létrehoz egy MySQL adatbázist + + + Leírás + + + int mysql_create_db + string database name + int + + link_identifier + + + + + + A mysql_create_db függvény megkísérel létrehozni egy + új adatbázist a megadott kapcsolatazonosítón keresztül. + + + MySQL 'create database' példa + +<?php + $link = mysql_pconnect ("kron", "jutta", "geheim") + or die ("Nem lehet csatlakozni") + if (mysql_create_db ("my_db")) { + print ("Az adatbázist létrehoztam\n"); + } else { + printf ("Hiba az adatbázis létrehozásakor: %s\n", mysql_error ()); + } +?> + + + + Kompatíbilitási okokból a mysql_createdb függvény is + használható. + + + Lásd még a: mysql_drop_db függvényt. + + + + + + + mysql_data_seek + Belső eredménymutató mozgatása + + + Leírás + + + int mysql_data_seek + int result_identifier + int row_number + + + + Igazzal tér vissza, ha a művelet sikerült + + + A mysql_data_seek függvény az adott azonosítójú + ereményhalmazban ugrik a megadott pozícióra. + A mysql_fetch_row függvény következő hívásakor ezt a + sorszámú sort kapod meg. + + + Ha az első sorra akarsz pozicionálni, akkor + Row_number 0 legyen! + + + + MySQL data seek példa + +<?php + $link = mysql_pconnect ("kron", "jutta", "geheim") + or die ("Nem tudok csatlakozni"); + + mysql_select_db ("samp_db") + or die ("Nem tudok belépni az adatbázisba"); + + $query = "SELECT last_name, first_name FROM friends"; + $eredmeny = mysql_query ($query) + or die ("Rossz kérés"); + + # fetch rows in reverse order + + for ($i = mysql_num_rows ($eredmeny) - 1; $i >=0; $i--) { + if (!mysql_data_seek ($eredmeny, $i)) { + printf ("Nem tudok a %d. sorra ugorni\n", $i); + continue; + } + + if(!($sor = mysql_fetch_object ($eredmeny))) + continue; + + printf ("%s %s<BR>\n", $sor->last_name, $sor->first_name); + } + + mysql_free_result ($eredmeny); +?> + + + + + + + + mysql_db_name + Get result data + + + Leírás + + + int mysql_db_name + int result + int row + mixed + + field + + + + + + A mysql_db_name függvény első paramétere egy + mysql_list_dbs által visszaadott érték. A + row paraméter az eredményhalmaz indexe. + + + + Ha hiba történt, a függvény FALSE-szal tér vissza. + Használd a + mysql_errno és a + mysql_error függvényeket a hiba eredetének + megállapítására! + + + + <function>Mysql_db_name</function> példa + +<?php +error_reporting(E_ALL); + +mysql_connect('dbhost', 'név', 'jelszó'); +$db_list = mysql_list_dbs(); + +$i = 0; +$cnt = mysql_num_rows($db_list); +while ($i < $cnt) { + echo mysql_db_name($db_list, $i) . "\n"; + $i++; +} +?> + + + + + Kompatíbilitási okokból a mysql_dbname függvény is + használható, de használata nem javasolt. + + + + + + + + mysql_db_query + MySQL kérést küld az adatbázisnak + + + Leírás + + + int mysql_db_query + string database + string query + int + + link_identifier + + + + + + Visszatérési értéke egy pozitív MySQL eredmény-azonosító, ha a kérés + sikeres volt, hamissal, ha a kérés hibás volt. + + + A mysql_db_query függvény kiválaszt egy adatbázist, + majd azon végrehajt egy kérést. Ha a kapcsolat azonosító nincs megadva, + akkor a függvény keres egyet. Ha nem talál ilyet, akkor megpróbál + létrehozni egyet oly módon, mintha meghívta volna a + mysql_connect függvényt paraméterek nélkül. + + + Lásd még a mysql_connect függvényt. + + + Kompatíbilitási okokból a mysql függvény is + használható. + + + + + + + mysql_drop_db + Töröl egy MySQL adatbázist + + + Leírás + + + int mysql_drop_db + string database_name + int + + link_identifier + + + + + + Visszatérési értéke: igaz, ha sikeres, hamis, ha nem + + + A mysql_drop_db függvény megpróbálja az egész + adatbázist kitörölni, melyet az adott kapcsolat-azonosító határoz meg. + + + Lásd még a mysql_create_db függvényt. + Kompatíbilitási okokból mysql_dropdb néven is + hívható a függvény. [és hallgat is a nevére] + + + + + + + mysql_errno + Az előző MySQL művelet hibakódját tartalmazza + + + Leírás + + + int mysql_errno + int + + link_identifier + + + + + + Az utoljára végrehajtott MySQL hiba kódjával tér vissza, vagy ha az + sikeres volt, akkor 0-t (nullát) ad vissza. + + + A MySQL hibái már nem jelennek meg figyelmeztetésként. [orig.: + Errors coming back from the mySQL database backend no longer + issue warnings.] + Ha szeretnéd megkapni a hiba kódját, használd a + mysql_errno függvényt! + Ez a függvény csak az utolsó MySQL művelet hibakódját adja vissza + [(not including mysql_error and + mysql_errno)], ha használni szeretnéd, ügyelj rá, + hogy még azelőtt hívd meg a függvényt, mielőtt egy másik MySQL függvényt + meghívsz. + + +<?php +mysql_connect("marliesle"); +echo mysql_errno().": ".mysql_error()."<BR>"; +mysql_select_db("nonexistentdb"); +echo mysql_errno().": ".mysql_error()."<BR>"; +$conn = mysql_query("SELECT * FROM nonexistenttable"); +echo mysql_errno().": ".mysql_error()."<BR>"; +?> + + + + + Lásd még a mysql_error függvényt + + + + + + + mysql_error + Az előző MySQL művelet hibaszövegét adja + + + Leírás + + + string mysql_error + int + + link_identifier + + + + + + Az utolsó MySQL művelet hibaszövegével tér vissza, vagy + '' (üres karakterlánccal) ha nem volt hiba. + + + A MySQL hibái már nem jelennek meg figyelmeztetésként. [orig.: + Errors coming back from the mySQL database backend no longer + issue warnings.] + Ha szeretnéd megkapni a hiba kódját, használd a + mysql_error függvényt! + Ez a függvény csak az utolsó MySQL művelet hibakódját adja vissza + [(not including mysql_error and + mysql_errno)], ha használni szeretnéd, ügyelj rá, + hogy még azelőtt hívd meg a függvényt, mielőtt egy másik MySQL függvényt + meghívsz. + + +<?php +mysql_connect("marliesle"); +echo mysql_errno().": ".mysql_error()."<BR>"; +mysql_select_db("nonexistentdb"); +echo mysql_errno().": ".mysql_error()."<BR>"; +$conn = mysql_query("SELECT * FROM nonexistenttable"); +echo mysql_errno().": ".mysql_error()."<BR>"; +?> + + + + + Lásd még a mysql_errno függvényt! + + + + + + + mysql_fetch_array + + Kérés egy sorát adja vissza (tetszőleges) tömb formájában. + + + + Leírás + + + array mysql_fetch_array + int result + int + + result_type + + + + + + Az eredmény következő sorával tér vissza tömb formájában, vagy hamissal, + ha már nincs több sor. + + A mysql_fetch_array függvény a + mysql_fetch_row függvény kiterjesztett változata. + Ráadásul az eredményt nem csak számokkal indexelt tömbbe írja, hanem + asszociatív tömbbe is, ahol a mező nevei a kulcsok. + + + Ha az eredmény több sorának ugyanaz a neve, akkor a később szereplő + oszlop marad meg. Ha szeretnéd az összes mezőt elérni ilyenkor is, akkor + számmal indexeld a tömböt, vagy az SQL parancsban kérj aliast az + oszlopra. + + +select t1.f1 as ize t2.f1 as bigyo from t1, t2 + + + + + Jó tudni, hogy a mysql_fetch_array függvény + használata NEM jelentősen lassabb a mysql_fetch_row + használatánál, de a kapott eredmény feldolgozása jóval kényelmesebb. + + + A mysql_fetch_array függvény elhagyható + result_type paramétere a következő lehet: + MYSQL_ASSOC, MYSQL_NUM, vagy MYSQL_BOTH. + (Ez a lehetőség a PHP 3.0.7-es változatában került a nyelvbe.) + + + További részletekért olvasd még a + mysql_fetch_row és a + mysql_fetch_assoc függvényeket! + + + <function>Mysql_fetch_array</function> + +<?php +mysql_connect ($host, $felhasznalo, $jelszo); +$eredmeny = mysql_db_query ("adatbázis","select user_id, teljesnev from table"); +while ($sor = mysql_fetch_array ($eredmeny)) { + echo "user_id: ".$sor["user_id"]."<br>\n"; + echo "user_id: ".$sor[0]."<br>\n"; + echo "fullname: ".$sor["fullname"]."<br>\n"; + echo "fullname: ".$sor[1]."<br>\n"; +} +mysql_free_result ($eredmeny); +?> + + + + + + + + mysql_fetch_assoc + + Az eredmény egy sorát asszociatív tömbként adja vissza. + + + + Leírás + + + array mysql_fetch_assoc + int result + + + + Az eredmény következő sorával, mint asszociatív tömbbel tér vissza, vagy + hamissal, ha nincs több sor. + + A mysql_fetch_assoc függvény hívásával ugyanazt + érjük el, mintha a mysql_fetch_array függvényt + hívtuk volna meg MYSQL_ASSOC második paraméterrel. Ez a függvény egy + tisztán asszociatív tömböt ad vissza. Eredetileg a + mysql_fetch_array függvény így működött. Ha a + számokkal indexelt elemekre is szükséged van, akkor használd a + mysql_fetch_array függvényt. + + + Ha az eredmény több sorának ugyanaz a neve, akkor a később szereplő + oszlop marad meg. Ha szeretnéd az összes mezőt elérni ilyenkor is, akkor + az SQL parancsban kérj aliast az oszlopra, vagy használd a + mysql_fetch_array függvényt úgy, hogy a számmal + indexelt elemeket is kéred. + + + Jó tudni, hogy a mysql_fetch_assoc függvény + használata NEM jelentősen lassabb a mysql_fetch_row + használatánál, de a kapott eredmény feldolgozása jóval kényelmesebb. + + + További részletekért lásd még a + mysql_fetch_row és a + mysql_fetch_array függvényeket. + + + <function>Mysql_fetch_assoc</function> + +<?php +mysql_connect ($host, $felhasznalo, $jelszo); +$eredmeny = mysql_db_query ("adatbázis","select * from table"); +while ($sor = mysql_fetch_assoc ($eredmeny)) { + echo $sor["user_id"]; + echo $sor["fullname"]; +} +mysql_free_result ($eredmeny); +?> + + + + + + + + mysql_fetch_field + + Eredményhalmaz egy oszlopáról ad információt objektum formájában + + + + Leírás + + + object mysql_fetch_field + int result + int + + field_offset + + + + + + Egy mezőinformációt tartalmazó objektummal tér vissza. + + + A mysql_fetch_field függvényt arra használhatod, + hogy az eredmény egy oszlopáról információt kaphass. Ha a mező sorszámát + nem adod meg, akkor a következő olyan oszlopról kapsz információt, + amelyre még nem hívtad meg a + mysql_fetch_field függvényt. + + + Az objektum tulajdonságai: + + + + name - az oszlop neve + + + + + table - a tábla neve, amelyhez az oszlop tartozik + + + + + max_length - az oszlop maximális hossza + + + + + not_null - értéke 1, ha az oszlop nem veheti fel a NULL értéket + + + + + primary_key - értéke 1, ha az oszlop elsődleges kulcs + + + + + unique_key - értéke 1, ha az oszlop egyszerű kulcs + + + + + multiple_key - értéke 1, ha az oszlop összetett kulcs része + + + + + numeric - értéke 1, ha az oszlop szám + + + + + blob - értéke 1, ha az oszlop BLOB típusú + + + + + type - az oszlop típusa + + + + + unsigned - értéke 1, ha az oszlop nem előjeles + + + + + zerofill - értéke 1, ha az oszlop nullával feltöltött + + + + + + <function>Mysql_fetch_field</function> + +<?php +mysql_connect ($host, $felhasznalo, $jelszo) + or die ("Nem lehet csatlakozni az adatbázishoz"); +$eredmeny = mysql_db_query ("adatbázis", "select * from table") + or die ("Hibás kérés"); +# oszlopinformáció lekérése +$i = 0; +while ($i < mysql_num_fields ($eredmeny)) { + echo "Információ a $i. oszlopról:<BR>\n"; + $meta = mysql_fetch_field ($eredmeny); + if (!$meta) { + echo "Nem tudok információt lekérni<BR>gt;\n"; + } + echo "<PRE> +blob: $meta->blob +max_length: $meta->max_length +multiple_key: $meta->multiple_key +name: $meta->name +not_null: $meta->not_null +numeric: $meta->numeric +primary_key: $meta->primary_key +table: $meta->table +type: $meta->type +unique_key: $meta->unique_key +unsigned: $meta->unsigned +zerofill: $meta->zerofill +</PRE>"; + $i++; +} +mysql_free_result ($eredmeny); +?> + + + + Lásd még a mysql_field_seek függvényt! + + + + + + + mysql_fetch_lengths + + Az eredmény oszlopainak hosszáról nyújt információt + + + + Leírás + + + array mysql_fetch_lengths + int result + + + + Egy tömbbel tér vissza. A tömb elemei az utolsó + mysql_fetch_row függvény által betöltött oszlopok + hosszait tartalmazza, vagy hiba esetén hamisat. + + + A mysql_fetch_lengths függvény a + mysql_fetch_row, + mysql_fetch_array vagy a + mysql_fetch_object által betöltött sor hosszait adja + vissza számmal indexelt tömb formájában. + + + Lásd még a mysql_fetch_row függvényt! + + + + + + + mysql_fetch_object + Az eredmény következő sorát objektum formájában adja + vissza + + + Leírás + + + object mysql_fetch_object + int result + int + + result_type + + + + + + Egy objektummal tér vissza, amelynek tulajdonságai a betöltött sor + oszlopait tartalmazzák. Ha nincs több sor, a függvény hamisat ad + eredményül. + + + A mysql_fetch_object függvény hasonló a + mysql_fetch_array függvényhez, egy különbséggel: nem + tömböt, hanem objektumot ad vissza a függvény. Ez azt jelenti, hogy a + mezőket csak a nevük alapján tudod elérni, mivel a számok nem + érvényes tulajdonságnevek. + + + Az elhagyható result_type parméter egy konstans, + ami MYSQL_ASSOC, MYSQL_NUM vagy MYSQL_BOTH lehet. + + + Sebesség szempontjából a mysql_fetch_array + függvénnyel azonos sebességű és majdnem olyan gyors, mint a + mysql_fetch_row függvény (a különbség + elhanyagolható) + + <function>mysql_fetch_object</function> példa + +<?php +mysql_connect ($host, $felhasznalo, $jelszo); +$eredmeny = mysql_db_query ("adatbázis", "select * from table"); +while ($sor = mysql_fetch_object ($eredmeny)) { + echo $sor->user_id; + echo $sor->fullname; +} +mysql_free_result ($eredmeny); +?> + + + + + Lásd még a mysql_fetch_array és a + mysql_fetch_row függvényt! + + + + + + + mysql_fetch_row + Az eredmény következő sorát adja vissza számmal indexelt tömb + formájában + + + Leírás + + + array mysql_fetch_row + int result + + + + Egy számmal indexelt tömbbel tér vissza, ami a betöltött sorokat + tartalmazza, vagy hamissal, ha nincs több sor. + + + A mysql_fetch_row függvény betölt egy sort a + megadott eredmény-azonosítójú eredményhalmazból. A sort (számmal + indexelt) tömb formájában adja vissza. Az oszlopok számozása 0-tól indul. + + + A mysql_fetch_row többszöri alkamazásával végig + tudjuk járni az eredményhalmazt, mivel az mindig a következő sort tölti + be, majd ha elfogytak a sorok, hamisat ad vissza. + + + Lásd még a mysql_fetch_array, + mysql_fetch_object, + mysql_data_seek, + mysql_fetch_lengths és a + mysql_result függvényeket! + + + + + + + mysql_field_flags + + Adott eredmény adott mezejének flagjeit adja vissza. + + + + Leírás + + + string mysql_field_flags + int result + int field_offset + + + + A mysql_field_flags függvény az adott mező flagjeit + adja vissza. A flagek egyszerű szavak, melyeket egyetlen szóköz választ + el, így a kapott értéket feldolgozhatod a explode + függvény segítségével. + + A MySQL a következő flageket támogatja (feltéve, hogy elég friss a + használt MySQL, amit használsz): "not_null", "primary_key", + "unique_key", "multiple_key", "blob", "unsigned", "zerofill", + "binary", "enum", "auto_increment", "timestamp". + + + Kompatíbilitási okokból a mysql_fieldflags függvény + is használható. + + + + + + + mysql_field_name + + Adott mező nevét adja vissza + + + + Leírás + + + string mysql_field_name + int result + int field_index + + + + A mysql_field_name függvény az eredményben szereplő + megadott indexű mező nevét adja vissza. A result + paraméternek érvényes eredményazonosítónak kell lennie, + a field_index paraméter pedig a mező indexe. + + + + A field_index paraméter számozása 0-tól kezdődik. + + + Például a harmadik mező indexe 2, a negyedik mezőé pedig 3. + + + + + <function>mysql_field_name</function> példa + +// A felhasznalok tábla három mezőből áll: +// user_id +// felhasznalonev +// jelszo. + +$res = mysql_db_query("felhasznalok", "select * from felhasznalok", $link); + +echo mysql_field_name($res, 0) . "\n"; +echo mysql_field_name($res, 2); + + + + + A fenti példa ay alábbi kimenetet eredményezi: + + +user_id +jelszo + + + + + Kompatíbilitási okokból a mysql_fieldname + függvény is használható. + + + + + + + mysql_field_len + + A kérdezett mező hosszát adja vissza + + + + Leírás + + + int mysql_field_len + int result + int field_offset + + + + A mysql_field_len függvény a kérdezett mező + hosszával tér vissza. + + + Kompatíbilitási okokból a mysql_fieldlen + függvény is használható. + + + + + + + mysql_field_seek + + Az eredménymutatót a kívánt pozícióba mozgatja + + + + Leírás + + + int mysql_field_seek + int result + int field_offset + + + + A megadott helyre mozgatja az eredmény-mutatót. Ha a következő + mysql_fetch_field függvényhívás nem tartalmaz mező + pozíciót, akkor a + mysql_field_seek függvény által visszaadott + mezőpozíciót fogja visszaadni. + + + Lásd még a mysql_fetch_field függvényt! + + + + + + + mysql_field_table + + Visszaadja annak a táblának a nevét, melyben a megadott mező található + + + + Leírás + + + string mysql_field_table + int result + int field_offset + + + + A függvény annak a táblának a nevével tér vissza, melyben a megadott mező + szerepel. + + + Kompatíbilitási okokból a mysql_fieldtable + függvény is használható. + + + + + + + mysql_field_type + + Az eredmény adott mezejének típusát adja vissza + + + + Leírás + + + string mysql_field_type + int result + int field_offset + + + + A mysql_field_type függvény hasonló a + mysql_field_name függvényhez. A paraméterek + megegyeznek, de a függvény a mező típusával tér vissza. A mezőtípus az + "int", "real", "string", "blob" vagy hasonló, a + MySQL dokumentációban található + típusok közül való. + + mysql mezőtípusok + +<?php + +mysql_connect ("localhost:3306"); +mysql_select_db ("wisconsin"); +$eredmeny = mysql_query ("SELECT * FROM onek"); +$mezo = mysql_num_fields ($eredmeny); +$sor = mysql_num_rows ($eredmeny); +$i = 0; +$table = mysql_field_table ($eredmeny, $i); +echo "A '$table' nevű táblának $mezo mezője és $sor sora van <BR>"; +echo "A táblának az alábbi mezői vannak<BR>"; +while ($i < $mezo) { + $tipus = mysql_field_type ($eredmeny, $i); + $nev = mysql_field_name ($eredmeny, $i); + $hossz = mysql_field_hossz ($eredmeny, $i); + $flags = mysql_field_flags ($eredmeny, $i); + echo "$tipus $nev $hossz $flags."<BR>"; + $i++; +} +mysql_close(); + +?> + + + + + Kompatíbilitási okokból a mysql_fieldtype + függvény is használható. + + + + + + + mysql_free_result + Felszabadítja az eredmény által lefoglalt memóriát + + + Leírás + + + int mysql_free_result + int result + + + + A mysql_free_result függvény az összes + result eredményazonosító által használt memóriát + felszabadítja. + + + A mysql_free_result függvényt csak akkor kell + meghívnod, ha nagyon aggódsz a használt memória mennyisége miatt. A + memória a php program végén úgyis felszabadul. + + + Kompatíbilitási okokból a mysql_freeresult + függvény is használható. + + + + + + + mysql_insert_id + + Visszaadja az előző INSERT művelet által előállított id-t adja vissza. + Get the id generated from the previous INSERT operation + + + + Leírás + + + int mysql_insert_id + int + + link_identifier + + + + + + A mysql_insert_id függvény az előző INSERT + műveletben szereplő AUTO_INCREMENT tulajdonságú mező értékét adja vissza. + Ha megadjuk link_identifier-t az adott + linkkel rendelekező, ha nem adunk meg paramétert, az utolsó megnyitott + linkhez tartozó eredményt szolgáltatja. + + + A mysql_insert_id függvény 0-val tér vissza, ha az + előző kérésben nem jött létre AUTO_INCREMENT érték. Ha szükséged van + később az értékre, hívd meg a mysql_insert_id + függvényt rögtön az értéket generáló lekérdezés után! + + + + A LAST_INSERT_ID() függvény értéke mindig az utoljára + előállított AUTO_INCREMENT értéket tartalmazza, nem törlődik az értéke + lekérdezések között. + + + + + A mysql_insert_id függvény a MySQL C API függvény + mysql_insert_id() visszatérési értékét + long-gá konvertálja. Ha az AUTO_INCREMENT meződ + mondjuk BIGINT típusú, akkor a + mysql_insert_id függvény rossz eredményt adhat + vissza. Ezért inkább a belső + LAST_INSERT_ID() MySQL függvényt használd! + + + + + + + + mysql_list_dbs + + Kilistázza a MySQL szerveren elérhető adatbázisokat + + + + Leírás + + + int mysql_list_dbs + int + + link_identifier + + + + + + A mysql_list_dbs függvény egy eredménymutatót ad + vissza, ami a mysql démontól elérhető adatbázisokat tartalmazza. + Használd a mysql_tablename függvényt, hogy az összes + táblát elérd! + + + + <function>mysql_list_dbs</function> példa + +$link = mysql_connect('localhost', 'nevem', 'titok'); +$db_list = mysql_list_dbs($link); + +while ($sor = mysql_fetch_object($db_list)) { + echo $sor->Database . "\n"; +} + + + + + A fenti példa az alábbi kimenetet eredményezi. + + +adatbázis1 +adatbázis2 +adatbázis3 +... + + + + + + A fenti program egyszerűen bővíthető a + mysql_fetch_row függvénnyel vagy más hasonló + függvénnyel. + + + + Kompatíbilitási okokból a mysql_listdbs függvény + is használható. + + + + + + + mysql_list_fields + Kilistázza a MySQL eredmény mezőit + + + Leírás + + + int mysql_list_fields + string database_name + string table_name + int + + link_identifier + + + + + + A mysql_list_fields függvény az adott tábláról + szolgáltat információt. A paraméterek az adatbázis és a tábla neve. A + függvény egy eredmény-azonosító tér vissza, amit a + mysql_field_flags, + mysql_field_len, + mysql_field_name, és a + mysql_field_type függvényekkel hámozhatsz meg. + + + Az eredmény-azonosító egy pozitív egész szám. A függvény hiba esetén + -1-gyel tér vissza. A hiba szöveges leírása a + $phperrmsg változóban található, és ha nem +  <email protected>() <- így hívtad meg a függvényt, akkor a + hiba kiírásra kerül [már ha nem pl. egy Javascript kód belsejében, vagy + egy keretrendszer tetején akarná kiírni szegény PHP...]. + + + + <function>mysql_list_fields</function> példa + +$link = mysql_connect('localhost', 'nevem', 'titok'); + +$mezo = mysql_list_fields("adatbázis1", "tabla1", $link); +$oszlop = mysql_num_fields($mezo); + +for ($i = 0; $i < $oszlop; $i++) { + echo mysql_field_name($mezo, $i) . "\n";; +} + + + + + A fenti példa az alábbi kimenetet eredményezi: + + +mezo1 +mezo2 +mezo3 +... + + + + + Kompatíbilitási okokból a mysql_listfields + függvény is használható. + + + + + + + mysql_list_tables + Adott adatbázisbeli táblaneveket listázza + + + Leírás + + + int mysql_list_tables + string database + int + + link_identifier + + + + + + A mysql_list_tables függvény veszi az + adatbázisnevet, és egy eredmény-mutatót ad vissza, a + mysql_db_query függvényhez hasonlóan. A + mysql_tablename függvény használható arra, hogy az + eredmény-mutatóból a tényleges táblaneveket megállapítsd. + + + Kompatíbilitási okokból a mysql_listtables + függvény is használható. + + + + + + + mysql_num_fields + Az eredményben szereplő mezők számát adja + + + Leírás + + + int mysql_num_fields + int result + + + + A mysql_num_fields függvény az eredményhalmazban + levő mezők számát adja vissza. + + + Lásd még a + mysql_db_query, + mysql_query, + mysql_fetch_field és a + mysql_num_rows függvényeket! + + Kompatíbilitási okokból a mysql_numfields + függvény is használható. + + + + + + + mysql_num_rows + Az eredményben szereplő sorok számát adja vissza. + + + Leírás + + + int mysql_num_rows + int result + + + + A mysql_num_rows függvény az eredményhalmazban + szereplő sorok számát adja vissza. A függvény csak SELECT kérésre + használható. Ha egy INSERT, UPDATE vagy DELETE kérésben érintett sorok + számát szeretnéd megtudni, használd a + DELETE, use mysql_affected_rows függvényt! + + + <function> + mysql_num_rows példa Szerző: crubel <<i>email protected</i>> + </function> + + +<?php +$conn = mysql_connect("hostcim", "juzer", "jelszo"); +mysql_select_db("adatbázis",$conn); // kell, ha több adatbázis van +$Eredmenytagokszama = mysql_query("SELECT * FROM Szamla",$conn); +$Tagokszama = mysql_num_rows($Eredmenytagokszama); +echo "$Tagokszama tag van"; +?> + + + + + Lásd még a + mysql_db_query, + mysql_query és a + mysql_fetch_row függvényeket! + + + Kompatíbilitási okokból a mysql_numrows can + also be used. + + + + + + + mysql_pconnect + + Perzisztens kapcsolatot nyit meg a MySQL szerverhez + + + + Leírás + + + int mysql_pconnect + string + + hostname + :port + :/path/to/socket + + + + string + username + + string + password + + + + + Visszatérési értéke: Egy pozitív MySQL perzisztens kapcsolatazonosító + siker esetén, vagy false, ha hiba történt. + + + A mysql_pconnect függvény létrehoz egy kapcsolatot a + MySQL szerverhez. Az elhagyott paraméterek az alábbi értékeket veszik + fel: + host:port = + 'localhost:3306', username = annak a + felhasználónak a neve, akié a szerver folyamat és végül: + password = üres jelszó. + + + A hostname karakterlánc a port számát is + tartalmazhatja; pl.: "hostname:port" vagy a socket teljes + elérési útvonalát pl.: ":/path/to/socket". Ez persze csak a + helyi gépen működik. + + + A ":port" használata a 3.0B4-es verzió óta lehetséges. + + + A ":/path/to/socket" forma használata a 3.0.10-es verzió óta + támogatott. + + + + + A mysql_pconnect függvény a + mysql_connect függvényhez hasonlóan működik, csupán + két nagyobb különbség van: + + + Először is, a kapcsolat felvételekor a függvény először megpróbál egy + (perzisztens) kapcsolatot találni, amely már nyitva van arra a hostra + ugyanazzal a név/jelszó párossal. Ha talál ilyet, akkor ennek a kapocsnak + az azonosítóját adja vissza és nem nyit újat. + + + Másodszor pedig a kapcsolat az SQL szerverhez nem kerül bezárásra, amikor + a php program véget ér, hanem megmarad későbbi felhasználásra. + (A mysql_close függvény nem fogja neked lezárni a + mysql_pconnect függvénnyel megnyitott kapcsolatokat). + + + Az ilyen típusú kapcsolatot ezért hívják 'perzisztensnek'. + + + + + + + mysql_query + MySQL kérést küld a szervernek + + + Leírás + + + int mysql_query + string query + int + 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ésnek nem szabad pontosvesszőre végződnie. + + + + A 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: + + <function>mysql_query</function> + +<?php +$eredmeny = mysql_query ("SELECT * WHERE 1=1") + or die ("Érvénytelen lekérdezés"); +?> + + + + + 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. + + <function>mysql_query</function> + +<?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, NSERT, 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_result 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_affected_rows, + mysql_db_query, + mysql_free_result, + mysql_result, + mysql_select_db és a + mysql_connect függvényeket! + + + + + + + mysql_result + Eredmény egy sorának lekérdezése + + + Leírás + + + mixed mysql_result + int result + int row + mixed + + field + + + + + + A mysql_result függvény egy MySQL eredményhalmaz egy + elemét adja vissza. A mező paraméter a mező sorszáma vagy neve lehet vagy + táblanév pont mezőnév (táblanév.mezőnév). Ha az oszlop más néven lett + lekérve, mint ami az oszlop eredeti neve volt + ('select izé as bigyó from...'), akkor használd azt a bizonyos 'más + nevet'! + + + Amikor nagy eredményhalmazokkal dolgozol, akkor mérlegelned kell az olyan + függvyének használatát, amelyek az egész eredménysort betöltik. Mivel + ezek több cella tartalmát olvassák be egy függvényhívással, így ezek + SOKKAL gyorsabbak, mint a + mysql_result függvény hívogatása. Említést érdemel + még, hogy a numerikus index használata jóval gyorsabb, mint a mezőnév + vagy a táblanév.mezőnév forma használata. + + + A mysql_result függvényhívásokat más, ugyanazon + eredményhalmazzal foglalkozó függvényhívásokkal nem illik (gyk. TILOS) + együtt használni! + + + Ajánlott az alábbi, gyors [és programozóbarát] függvények használata: + mysql_fetch_row, + mysql_fetch_array és + mysql_fetch_object. + + + + + + + mysql_select_db + Kiválaszt egy MySQL adatbázist + + + Leírás + + + int mysql_select_db + string database_name + int + + link_identifier + + + + + + Visszatérési érték: true, ha sikeres; false ha hiba történt. + + + A mysql_select_db függvény az adott + kapcsolat-azonosítójú szerverkapcsolat adatbázisát módosítja. Ha nincs + kapcsolat-azonosító megadva, akkor az utoljára megnyitott kapcsolatban + választ adatbázist. Ha ilyen sincs, akkor megpróbál a MySQL szerverhez + kapcsolódni úgy, mintha a mysql_connect függvény + lett volna meghívva paraméterek nélkül. + + + Az összes további mysql_query függvény az aktív + adatbázison fog történni. + + Lásd még a + mysql_connect, + mysql_pconnect és a + mysql_query függvényeket! + + + Kompatíbilitási okokból a mysql_selectdb + függvény is használható. + + + + + + + mysql_tablename + Egy tábla nevével tér vissza + + + Leírás + + + string mysql_tablename + int result + int i + + + + A mysql_tablename függvény veszi a + mysql_list_tables függvény által visszaadott + eredmény-mutatót és egy indexet, majd megmondja az oszlophoz tartozó + tábla nevét. A + mysql_num_rows függvény használható arra, hogy + megmondja hány tábla van az eredményhalmazban. + + <function>Mysql_tablename</function> példa + +<?php +mysql_connect ("localhost:3306"); +$eredmeny = mysql_list_tables ("wisconsin"); +$i = 0; +while ($i < mysql_num_rows ($eredmeny)) { + $tb_names[$i] = mysql_tablename ($eredmeny, $i); + echo $tb_names[$i] . "<BR>"; + $i++; +} +?> + + + + + + + + +