cvs: phpdoc /nl/functions mysql.xml
| From: | Dirkjan Ochtman | Date: | Sun, 24 Mar 2002 23:19:05 +0000 |
| Subject: | cvs: phpdoc /nl/functions mysql.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969343398@lists.php.net to get a copy of this message | ||
manuzhai Sun Mar 24 18:19:05 2002 EDT
Modified files:
/phpdoc/nl/functions mysql.xml
Log:
Index: phpdoc/nl/functions/mysql.xml diff -u /dev/null phpdoc/nl/functions/mysql.xml:1.4 --- /dev/null Sun Mar 24 18:19:05 2002 +++ phpdoc/nl/functions/mysql.xml Sun Mar 24 18:19:05 2002 @@ -0,0 +1,2248 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.4 $ --> + <reference id="ref.mysql"> + <title>MySQL Functies</title> + <titleabbrev>MySQL</titleabbrev> + + <partintro> + <para id="mysql.intro"> + Deze functies maken toegang tot MySQL database servers mogelijk. + Meer informatie over MySQL is te vinden op <ulink + url="&url.mysql;">&url.mysql;</ulink>. + </para> + <para> + Documentatie voor MySQL is te vinden op <ulink + url="&url.mysql.docs;">&url.mysql.docs;</ulink>. + </para> + + <section id="mysql.requirements"> + <title>Benodigdheden</title> + <para> + Om deze functies te gebruiken moet PHP gecompileerd zijn met + ondersteuning voor MySQL. + </para> + </section> + + <section id="mysql.installation"> + <title>Installatie</title> + <para> + Door de <option role="configure">--with-mysql</option> configuratie + optie te gebruiken kan PHP toegang krijgen tot MySQL databases. Als deze + optie gebruikt wordt zonder het pad naar MySQL te specificeren, zal PHP + de ingebouwde MySQL client libraries gebruiken. Met PHP4 is MySQL ondersteuning + altijd aan; als je de configuratie optie niet specificeert, worden de bijgevoegde + libraries gebruikt. Gebruikers die andere applicaties draaien die MySQL gebruiken + (bijvoorbeeld mensen die PHP 3 en PHP 4 naast elkaar draaien als Apache modules, + of auth-mysql) moeten altijd het pad naar MySQL specificeren: <option + role="configure">--with-mysql=/path/to/mysql</option>. Dit zorgt ervoor dat PHP + de client libraries die door MySQL geinstalleerd zijn gebruikt, zodat een conflict + voorkomen wordt. + </para> + </section> + + <section id="mysql.configuration"> + <title>Runtime Configuratie</title> + <para> + Het gedrag van de MySQL functies wordt mede bepaald door instellingen in de + globale <link linkend="configuration">configuratie</link> file. + <table> + <title><link linkend="ini.sect.mysql">MySQL Configuratie</link> Opties</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Naam</entry> + <entry>Default</entry> + <entry>Veranderbaar</entry> + </row> + </thead> + <tbody> + <row> + <entry>mysql.allow_persistent</entry> + <entry>"On"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.max_persistent</entry> + <entry>"-1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.max_links</entry> + <entry>"-1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.default_port</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_socket</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_host</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_user</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + Zie ook <function>ini_set</function> voor verdere details en de definitie + van de PHP_INI_* constanten. + </para> + </section> + + <section id="mysql.resources"> + <title>Resource typen</title> + <para> + De MySQL module gebruikt twee resource typen. De eerste is de link identifier + voor een verbinding met een database, de tweede is een resource voor de resultaten van + een query. + </para> + </section> + + <section id="mysql.constants"> + <title>Predefined constanten</title> + <para> + De functie <function>mysql_fetch_array</function> gebruikt een constante + voor de verschillende typen van de resultaat-arrays. De volgende + constanten zijn gedefinieerd: + <table> + <title>MySQL fetch constanten</title> + <tgroup cols="2"> + <thead> + <row> + <entry>constante</entry> + <entry>betekenis</entry> + </row> + </thead> + <tbody> + <row> + <entry>MYSQL_ASSOC</entry> + <entry> + Kolommen worden teruggegeven in de array met de veldnaam als de + array index. + </entry> + </row> + <row> + <entry>MYSQL_BOTH</entry> + <entry> + Kolommen worden teruggegeven in de array met zowel een numerieke + index als de veldnaam als de array index. + </entry> + </row> + <row> + <entry>MYSQL_NUM</entry> + <entry> + Kolommen worden teruggegeven in de array met een numerieke index + voor de velden. Deze index begint met 0, het eerste veld in het resultaat. + </entry> + </row> + </tbody> + </tgroup> + </table> + </para> + </section> + + <section id="mysql.examples"> + <title>Voorbeelden</title> + <para> + Dit simpele voorbeeld laat zien hoe verbinding met een MySQL database + tot stand wordt gebracht, + er een query wordt uitgevoerd, resulterende rijen worden geprint en + hoe de verbinding weer wordt gesloten. + <example> + <title>MySQL extensie overzicht voorbeeld</title> + <programlisting role="php"> + <![CDATA[ + <?php + // Verbinding maken, een database selecteren + $link = mysql_connect("mysql_host", "mysql_login", "mysql_password") + or die("Kan geen verbinding maken"); + print "Verbinding succesvol gemaakt"; + mysql_select_db("my_database") + or die("Kan geen database selecteren"); + + // Een SQL query uitvoeren + $query = "SELECT * FROM my_table"; + $result = mysql_query($query) + or die("Fout bij uitvoeren query"); + + // Printen resultaten in HTML + print "<table>\n"; + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + print "\t<tr>\n"; + foreach ($line as $col_value) { + print "\t\t<td>$col_value</td>\n"; + } + print "\t</tr>\n"; + } + print "</table>\n"; + + // Resultaat-set vrij maken + mysql_free_result($result); + + // Verbinding afsluiten + mysql_close($link); + ?> + ]]> + </programlisting> + </example> + </para> + </section> + </partintro> + + <refentry id="function.mysql-affected-rows"> + <refnamediv> + <refname>mysql_affected_rows</refname> + <refpurpose>Geeft het aantal betrokken rijen in de vorige + MySQL operatie</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_affected_rows</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_affected_rows</function> geeft het aantal rijen + dat betrokken was bij de laatste INSERT, UPDATE of DELETE query + die geassocieerd was met <parameter>link_identifier</parameter>. Als + de link identifier niet gegeven is, wordt de link die als laatste werd + geopend met <function>mysql_connect</function> gebruikt. + </para> + <note> + <para> + Als je transacties gebruikt, moet je + <function>mysql_affected_rows</function> na je INSERT, + UPDATE, of DELETE query aanroepen, niet na de commit. + </para> + </note> + <para> + Als de laatste query een DELETE query zondere WHERE clause was, + zullen alle records uit de tabel zijn verwijderd, maar deze functie + zal nul teruggeven. + </para> + <note> + <para> + Wanneer UPDATE gebruikt wordt, zal MySQL geen kolommen veranderen + waar de nieuwe waarde hetzelfde is als de oude waarde. Dit geeft + de mogelijkheid dat <function>mysql_affected_rows</function> misschien + niet het aantal rijen dat werd gevonden geeft, maar alleen het aantal + rijen dat letterlijk werd aangepast door de query. + </para> + </note> + <para> + <function>mysql_affected_rows</function> werkt niet met + SELECT queries; alleen met queries die records wijzigen. Om + het aantal rijen dat werd teruggegeven door een SELECT te + te achterhalen, kun je <function>mysql_num_rows</function> + gebruiken. + </para> + <para> + Als de laatste query faalde, geeft deze functie -1 terug. + </para> + <para> + Zie ook: <function>mysql_num_rows</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-change-user"> + <refnamediv> + <refname>mysql_change_user</refname> + <refpurpose> + Verander de ingelogde gebruiker van de actieve sessie + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_change_user</methodname> + <methodparam><type>string</type><parameter>user</parameter></methodparam> + <methodparam><type>string</type><parameter>password</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter> + database + </parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_change_user</function> verandert de ingelogde gebruiker + van de huidige actieve verbinding, of de verbinding die is gegeven + door de optionele <parameter>link_identifier</parameter> parameter. Als + een database is gegeven, wordt die geselecteerd nadat de gebruiker is veranderd. + Als de nieuwe gebruiker en wachtwoord autorisatie faalt, blijft + de huidige verbonden gebruiker actief. + </para> + <note> + <para> + Deze functie werd geïntroduceerd in PHP 3.0.13 en heeft + MySQL 3.23.3 of hoger nodig. + </para> + </note> + </refsect1> + </refentry> + + <refentry id="function.mysql-close"> + <refnamediv> + <refname>mysql_close</refname> + <refpurpose>Sluit MySQL verbinding</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_close</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> <function>mysql_close</function> sluit de verbinding met + de MySQL server die geassocieerd is met de gegeven + <parameter>link identifier</parameter>. Als <parameter>link_identifier</parameter> + niet gegeven wordt, wordt de laatst geopende link gebruikt. + </para> + <para> + Het gebruik van <function>mysql_close</function> is normaal niet nodig, + omdat niet-persisente open links automatisch gesloten worden aan het + eind van het script. Zie ook + <link linkend="language.types.resource.self-destruct">het vrijmaken van + resources</link>. + </para> + <note> + <para> + <function>mysql_close</function> zal persistente links die met + <function>mysql_pconnect</function> gemaakt zijn niet sluiten. + </para> + </note> + <example> + <title>MySQL close voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_connect("kraemer", "marliesle", "secret") + or exit("Kan niet verbinden"); + print ("Verbinding tot stand gebracht"); + mysql_close($link); +?> +]]> + </programlisting> + </example> + <para> + Zie ook: <function>mysql_connect</function> en + <function>mysql_pconnect</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-connect"> + <refnamediv> + <refname>mysql_connect</refname> + <refpurpose>Maak een verbinding met een MySQL Server</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_connect</methodname> + <methodparam choice="opt"><type>string</type><parameter> + server + </parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter> + username + </parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter> + password + </parameter></methodparam> + <methodparam choice="opt"><type>bool</type><parameter> + new_link + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een MySQL link identifier terug bij succes, of &false; bij falen. + </para> + <para> + <function>mysql_connect</function> maakt een verbinding met een + MySQL server. De volgende defaults worden aangenomen voor + missende optionele parameters: <parameter>server</parameter> = + 'localhost:3306', <parameter>username</parameter> = naam van de + gebruiker die owner is van het server process en + <parameter>password</parameter> = leeg password. + </para> + <para> + De <parameter>server</parameter> parameter kan ook een poort nummer + bijgevoegd hebben, bijvoorbeeld "hostname:port", of een pad + naar een socket, bijvoorbeeld ":/path/to/socket" voor de localhost. + <note> + <para> + Ondersteuning voor ":port" werd toegevoegd in PHP 3.0B4. + </para> + <para> + Ondersteuning voor ":/path/to/socket" werd toegevoegd in + PHP 3.0.10. + </para> + <para> + De foutmelding bij falen kan onderdrukt worden door + <link linkend="language.operators.errorcontrol">@</link> + toe te voegen voor de functienaam. + </para> + </note> + </para> + <para> + Als <function>mysql_connect</function> een tweede keer wordt aangeroepen + met dezelfde argumenten, zal er geen nieuwe link worden geopend, maar wordt + in plaats daarvan de link identifier van de al geopende link teruggegeven. + De <parameter>new_link</parameter> parameter wijzigt dit + gedrag en zorgt dat <function>mysql_connect</function> altijd een nieuwe link maakt, + zelfs als <function>mysql_connect</function> al eerder was aangeroepen met + dezelfde parameters. + </para> + <note> + <para> + De <parameter>new_link</parameter> parameter werd beschikbaar + in PHP 4.2.0. + </para> + </note> + <para> + De link naar de server zal worden gesloten zodra de executie van het + script eindigt, tenzij hij eerder expliciet gesloten wordt door + het aanroepen van <function>mysql_close</function>. + </para> + <example> + <title>MySQL connect voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_connect("localhost", "username", "secret") + or die("Kan niet verbinden"); + print ("Verbinding tot stand gebracht"); + mysql_close($link); +?> +]]> + </programlisting> + </example> + <para> Zie ook + <function>mysql_pconnect</function> en + <function>mysql_close</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-create-db"> + <refnamediv> + <refname>mysql_create_db</refname> + <refpurpose>Maakt een nieuwe MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_create_db</methodname> + <methodparam><type>string</type><parameter>database name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_create_db</function> probeert een nieuwe database + te maken op de server die geassocieerd is met de gegeven + link identifier. + </para> + <para> + &return.success; + </para> + <example> + <title>MySQL create database voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_pconnect("kron", "jutta", "geheim") + or exit("Kan geen verbinding maken"); + if (mysql_create_db("my_db")) { + print ("Database succesvol gemaakt\n"); + } else { + printf ("Error bij het maken van database: %s\n", mysql_error ()); + } +?> +]]> + </programlisting> + </example> + <para> + Voor compatibiliteit kan <function>mysql_createdb</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + <para> + Zie ook: <function>mysql_drop_db</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-data-seek"> + <refnamediv> + <refname>mysql_data_seek</refname> + <refpurpose>Verplaats interne resultaat pointer</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_data_seek</methodname> + <methodparam><type>resource</type><parameter>result_identifier</parameter></methodparam> + <methodparam><type>int</type><parameter>row_number</parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> + <function>mysql_data_seek</function> verplaatst de interne rij pointer + van de MySQL resultaat set die geassocieerd is met de gegeven result + identifier naar het gespecificeerde rijnummer. De volgende keer dat + <function>mysql_fetch_row</function> wordt aangeroepen zal die rij + teruggegeven worden. + </para> + <para> + <parameter>Row_number</parameter> begint bij 0. + </para> + <example> + <title>MySQL data seek voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_pconnect("kron", "jutta", "geheim") + or die("Kan geen verbinding maken"); + + mysql_select_db("samp_db") + or exit("Kan geen database selecteren"); + + $query = "SELECT last_name, first_name FROM friends"; + $result = mysql_query($query) + or die("Query heeft gefaald"); + + // fetch rows in reverse order + + for ($i = mysql_num_rows($result) - 1; $i >=0; $i--) { + if (!mysql_data_seek($result, $i)) { + echo "Kan rij $i niet vinden\n"; + continue; + } + + if(!($row = mysql_fetch_object($result))) + continue; + + echo "$row->last_name $row->first_name<br />\n"; + } + + mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-db-name"> + <refnamediv> + <refname>mysql_db_name</refname> + <refpurpose>Haal resultaat-gegevens</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_db_name</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>row</parameter></methodparam> + <methodparam choice="opt"><type>mixed</type><parameter> + field + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_db_name</function> neemt als zijn eerste parameter + een resultaat pointer van een aanroep naar + <function>mysql_list_dbs</function> aan. De + <parameter>row</parameter> parameter is een index op de resultaat + set. + </para> + <para> + Als er een fout wordt gemaakt, wordt &false; teruggegeven. Gebruik + <function>mysql_errno</function> en + <function>mysql_error</function> om de oorzaak van de fout te + onderzoeken. + </para> + <example> + <title><function>mysql_db_name</function> voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +error_reporting(E_ALL); + +mysql_connect('dbhost', 'username', 'password'); +$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++; +} +?> +]]> + </programlisting> + </example> + <para> + Voor compatibiliteit wordt <function>mysql_dbname</function> ook + geaccepteerd. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-db-query"> + <refnamediv> + <refname>mysql_db_query</refname> + <refpurpose>Stuur een MySQL query</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_db_query</methodname> + <methodparam><type>string</type><parameter>database</parameter></methodparam> + <methodparam><type>string</type><parameter>query</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een positieve MySQL resultaat resource voor het resultaat van de + query terug, of &false; bij een fout. + </para> + <para> + <function>mysql_db_query</function> selecteert een database en + voert een query uit op die database. Als de optionele link identifier niet + wordt gegeven, zal de functie proberen een open link naar de MySQL server + te vinden en als zo'n link niet wordt gevonden zal hij proberen een + link te maken alsof <function>mysql_connect</function> werd aangeroepen zonder + argumenten. + </para> + <para> + Zie ook <function>mysql_connect</function> en + <function>mysql_query</function>. + </para> + <para> + <note> + <simpara> + Deze functie wordt afgekeurd sinds PHP 4.0.6. + Gebruik deze functie niet. Gebruik <function>mysql_select_db</function> + en <function>mysql_query</function> in plaats daarvan. + </simpara> + </note> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-drop-db"> + <refnamediv> + <refname>mysql_drop_db</refname> + <refpurpose>Verwijder een MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_drop_db</methodname> + <methodparam><type>string</type><parameter>database_name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> + <function>mysql_drop_db</function> probeert een hele database + te verwijderen van de server die geassocieerd wordt met + de gegeven link identifier. + </para> + <para> + Voor compatibiliteit kan <function>mysql_dropdb</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + <para> + Zie ook: <function>mysql_create_db</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-errno"> + <refnamediv> + <refname>mysql_errno</refname> + <refpurpose> + Geeft de numerieke waarde van het foutbericht van de vorige + MySQL operatie. + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_errno</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft het fout nummer van de laatste MySQL functie, of + <literal>0</literal> (nul) als er geen error optrad. + </para> + <para> + Errors die terug komen van de MySQL database module geven geen + warnings meer. In plaats daarvan kun je <function>mysql_errno</function> + gebruiken om de fout code op te halen. Merk op dat deze functie alleen + de fout code van de meest recent uitgevoerde MySQL functie + (<function>mysql_error</function> en <function>mysql_errno</function> + uitgezonderd) ophalt, dus als je hem wil gebruiken, zorg dat je + de waarde controleert voordat je een andere MySQL functie aanroept. + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?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>"; +?> +]]> + </programlisting> + </informalexample> + </para> + <para> + Zie ook: <function>mysql_error</function> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-error"> + <refnamediv> + <refname>mysql_error</refname> + <refpurpose> + Geeft de tekst van het foutbericht van de vorige MySQL operatie + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_error</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft de fout tekst van de vorige MySQL functie, of + <literal>''</literal> (de lege string) als er geen error optrad. + </para> + <para> + Errors die terug komen van de MySQL database module geven geen + warnings meer. In plaats daarvan kun je <function>mysql_errer</function> + gebruiken om de fout tekst op te halen. Merk op dat deze functie alleen + de fout tekst van de meest recent uitgevoerde MySQL functie + (<function>mysql_error</function> en <function>mysql_errno</function> + uitgezonderd) ophaalt, dus als je hem wil gebruiken, zorg dat je + de waarde controleert voordat je een andere MySQL functie aanroept. + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?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>"; +?> +]]> + </programlisting> + </informalexample> + </para> + <para> + Zie ook: <function>mysql_errno</function> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-escape-string"> + <refnamediv> + <refname>mysql_escape_string</refname> + <refpurpose> + Escapet een string voor gebruik in een MySQL query + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_escape_string</methodname> + <methodparam><type>string</type><parameter>unescaped_string</parameter></methodparam> + </methodsynopsis> + <para> + Deze functie zal de <parameter>unescaped_string</parameter> escapen, + zodat het veilig is om hem in een <function>mysql_query</function> gebruiken. + </para> + <note> + <simpara> + <function>mysql_escape_string</function> escapet + <literal>%</literal> en <literal>_</literal> niet. + </simpara> + </note> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-array"> + <refnamediv> + <refname>mysql_fetch_array</refname> + <refpurpose> + Haal een resultaat rij op als een associatieve array, een numerieke array, of beiden + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_array</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter> + result_type + </parameter></methodparam> + </methodsynopsis> + <para> + Haalt een array op die correspondeert met de opgehaalde rij, of + &false; als er geen rijen meer zijn.</para> + <para> + <function>mysql_fetch_array</function> is een uitgebreide versie van + <function>mysql_fetch_row</function>. Als toevoeging op het opslaan + van de data in numerieke indices van de resultaat array, slaat hij de + data ook op in associatieve indices, waarbij de veldnamen gebruikt worden + als keys. + </para> + <para> + Als twee of meer kolommmen van het resultaat dezelfde veldnaam hebben + heeft de laatst kolom precedentie. Om toegang te krijgen tot andere + kolommen met dezelfde naam, moet je de numerieke index van de kolom + gebruiken of een alias maken voor de kolom. Voor gealiasde kolommen kun je + geen toegang krijgen tot de inhoud met de originele kolom naam + (door <literal>'field'</literal> te gebruiken in dit voorbeeld). + <informalexample> + <programlisting role="sql"> +<![CDATA[ +select tone.field as foo ttwo.field as bar from tone, ttwo +]]> + </programlisting> + </informalexample> + </para> + <para> + Belangrijk is het door te hebben dat + <function>mysql_fetch_array</function> is <emphasis>niet + significant</emphasis> langzamer dan het gebruik van + <function>mysql_fetch_row</function>, terwijl het een + duidelijke toegevoegde waarde heeft. + </para> + <para> + Het optionele tweede argument <parameter>result_type</parameter> + in <function>mysql_fetch_array</function> is een constante en kan + de volgende waarden aannemen: MYSQL_ASSOC, MYSQL_NUM, en + MYSQL_BOTH. Deze feature werd toegevoegd in PHP 3.0.7. MYSQL_BOTH + is de default voor deze parameter. + </para> + <para> + Door MYSQL_BOTH te gebruiken, zul je een array met zowel associatieve + als numerieke indices terug krijgen. Met MYSQL_ASSOC krijg je alleen + associatieve indices (zoals bij <function>mysql_fetch_assoc</function>), + en met MYSQL_NUM krijg je alleen numerieke indices (zoals + <function>mysql_fetch_row</function>). + </para> + <para> + Voor verdere details, zie ook + <function>mysql_fetch_row</function> en + <function>mysql_fetch_assoc</function>. + </para> + <example> + <title>MySQL fetch array voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect($host, $user, $password); +mysql_select_db("database"); +$result = mysql_query("select user_id, fullname from table"); +while ($row = mysql_fetch_array($result)) { + echo "user_id: ".$row["user_id"]."<br>\n"; + echo "user_id: ".$row[0]."<br>\n"; + echo "fullname: ".$row["fullname"]."<br>\n"; + echo "fullname: ".$row[1]."<br>\n"; +} +mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-assoc"> + <refnamediv> + <refname>mysql_fetch_assoc</refname> + <refpurpose> + Haal een resultaat rij op als een associatieve array + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_assoc</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + Haalt een associatieve array op die correspondeert met de gehaalde rij, + of &false; als er geen rijen meer zijn.</para> + <para> + <function>mysql_fetch_assoc</function> is equivalent met het aanroepen van + <function>mysql_fetch_array</function> met MYSQL_ASSOC voor de optionele + tweede paramter. Hij geeft alleen een associatieve array terug. + Dit is de manier waarop <function>mysql_fetch_array</function> oorspronkelijk + functioneerde. Als je zowel de numerieke als de associatieve indices nodig hebt, + gebruik dan <function>mysql_fetch_array</function>. + </para> + <para> + Als twee of meer kolommen van het resultaat dezelfde veldnaam hebben + zal de laatste kolom precedentie hebben. Om toegang te krijgen tot + de andere kolommen met dezelfde naam, moet je het resultaat verkrijgen + via numiereke indices door <function>mysql_fetch_row</function> te gebruiken + of alias namen toevoegen. Zie het voorbeeld bij de <function>mysql_fetch_array</function> + beschrijving over aliassen. + </para> + <para> + Belangrijk is het door te hebben dat + <function>mysql_fetch_array</function> is <emphasis>niet + significant</emphasis> langzamer dan het gebruik van + <function>mysql_fetch_row</function>, terwijl het een + duidelijke toegevoegde waarde heeft. + </para> + <para> + Voor verdere details, zie ook + <function>mysql_fetch_row</function> en + <function>mysql_fetch_array</function>. + </para> + <example> + <title>MySQL fetch assoc voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect($host, $user, $password); +mysql_select_db($database); +$query = "select * from table"; +$result = mysql_query($query); +while ($row = mysql_fetch_assoc($result)) { + echo $row["user_id"]; + echo $row["fullname"]; +} +mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-field"> + <refnamediv> + <refname>mysql_fetch_field</refname> + <refpurpose> + Haal kolom informatie uit een resultaat en geef die terug als object + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>object</type><methodname>mysql_fetch_field</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter> + field_offset + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een object terug met daarin veld informatie + </para> + <para> + <function>mysql_fetch_field</function> kan worden gebruikt om + informatie op te halen over velden in een bepaald query resultaat. Als + de index van het veld niet gegeven is, wordt het volgende veld dat nog niet + was opgehaald door <function>mysql_fetch_field</function> opgehaald. + </para> + <para> + De eigenschappen van het object zijn: + <itemizedlist> + <listitem> + <simpara> + name - kolomnaam + </simpara> + </listitem> + <listitem> + <simpara> + table - naam van de tabel waar het veld bij hoort + </simpara> + </listitem> + <listitem> + <simpara> + max_length - maximum lengte van de kolom + </simpara> + </listitem> + <listitem> + <simpara> + not_null - 1 als de kolom geen &null; kan zijn + </simpara> + </listitem> + <listitem> + <simpara> + primary_key - 1 als de kolom een primary key is + </simpara> + </listitem> + <listitem> + <simpara> + unique_key - 1 als de kolom een unique key is + </simpara> + </listitem> + <listitem> + <simpara> + multiple_key - 1 als de kolom een non-unique key is + </simpara> + </listitem> + <listitem> + <simpara> + numeric - 1 als de kolom numeriek is + </simpara> + </listitem> + <listitem> + <simpara> + blob - 1 als de kolom een BLOB is + </simpara> + </listitem> + <listitem> + <simpara> + type - het type van de kolom + </simpara> + </listitem> + <listitem> + <simpara> + unsigned - 1 als de kolom unsigned is + </simpara> + </listitem> + <listitem> + <simpara> + zerofill - 1 als de kolom zero-filled is + </simpara> + </listitem> + </itemizedlist> + </para> + <example> + <title><function>mysql_fetch_field</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect('localhost:3306', $user, $password) + or die ("Kan geen verbinding maken"); +mysql_select_db("database"); +$result = mysql_query("select * from table") + or die("Query heeft gefaald"); +# get column metadata +$i = 0; +while ($i < mysql_num_fields($result)) { + echo "Informatie voor kolom $i:<BR>\n"; + $meta = mysql_fetch_field($result); + if (!$meta) { + echo "Geen informatie beschikbaar<BR>\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($result); +?> +]]> + </programlisting> + </example> + <para> + Zie ook <function>mysql_field_seek</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-lengths"> + <refnamediv> + <refname>mysql_fetch_lengths</refname> + <refpurpose> + Haal de lengte op van elke output in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_lengths</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + Geeft een array terug die correspondeert met de lengten van elk veld + in de laatste rij opgehaald door <function>mysql_fetch_row</function>, + of &false; bij een fout. + </para> + <para> + <function>mysql_fetch_lengths</function> slaat de lengten van elke + resultaat kolom in de laatste rij die werd teruggegeven door + <function>mysql_fetch_row</function>, + <function>mysql_fetch_array</function>, en + <function>mysql_fetch_object</function> op in een array, beginnend + bij index 0. + </para> + <para> + Zie ook: <function>mysql_fetch_row</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-object"> + <refnamediv> + <refname>mysql_fetch_object</refname> + <refpurpose>Haal een resultaat rij op als een object</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>object</type><methodname>mysql_fetch_object</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter> + result_type + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een object terug met eigenschappen die corresponderen met + de gehaalde rij, of &false; als er geen rijen meer zijn. + </para> + <para> + <function>mysql_fetch_object</function> lijkt op + <function>mysql_fetch_array</function>, met een verschil - een object + wordt teruggegeven, in plaats van een array. Indirect betekent dat + dat je alleen toegang kan krijgen tot de gegevens door middel van + de veldnamen, en niet via hun numerieke indices (getallen zijn illegale + eigenschap namen). + </para> + <para> + <!-- Manuzhai: WTF *?* --> + Het optionele argument <parameter>result_type</parameter> is een + constante en kan de volgende waarden aannemen: MYSQL_ASSOC, + MYSQL_NUM, en MYSQL_BOTH. Zie + <function>mysql_fetch_array</function> voor een uitleg van deze + constanten. + </para> + <para> + Wat betreft snelheid is de functie identiek aan + <function>mysql_fetch_array</function>, en bijna even snel wals + <function>mysql_fetch_row</function> (het verschil is verwaarloosbaar). + <example> + <title>MySQL fetch object voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect("hostname", "user", "password"); +mysql_select_db($db); +$result = mysql_query("select * from table"); +while ($row = mysql_fetch_object($result)) { + echo $row->user_id; + echo $row->fullname; +} +mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </para> + <para> + Zie ook: <function>mysql_fetch_array</function> en + <function>mysql_fetch_row</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-row"> + <refnamediv> + <refname>mysql_fetch_row</refname> + <refpurpose>Haal een resultaat rij op als een genummerde array</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_row</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + Geeft een array terug die correspondeert met de gehaald rij, of &false; + als er geen rijen meer zijn. + </para> + <para> + <function>mysql_fetch_row</function> haalt een rij met data op + van het resultaat dat geassocieerd wordt met de gegeven result identifier. + De rij wordt teruggegeven als een array. Elke kolom van het resultaat + is opgeslagen als een array element, beginnend onder key 0. + </para> + <para> + Volgende aanroepen naar <function>mysql_fetch_row</function> zullen + de volgende rij in de resultaat set teruggeven, of &false; als er + geen rijen meer zijn. + </para> + <para> + Zie ook: <function>mysql_fetch_array</function>, + <function>mysql_fetch_object</function>, + <function>mysql_data_seek</function>, + <function>mysql_fetch_lengths</function>, en + <function>mysql_result</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-flags"> + <refnamediv> + <refname>mysql_field_flags</refname> + <refpurpose> + Haal de flags op die geassocieerd worden met het gegeven veld in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_flags</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_flags</function> geeft de field flags terug + van het gegeven veld. De flags worden teruggegeven als een enkel woord + per vlag gescheiden door een enkele spatie, zodat je ze kan scheiden door + middel van <function>explode</function>. + </para> + <para>De volgende flags kunnen worden teruggegeven, als je versie + van MySQL actueel genoeg is om ze te ondersteunen: "not_null", "primary_key", + "unique_key", "multiple_key", "blob", "unsigned", "zerofill", + "binary", "enum", "auto_increment", "timestamp". + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldflags</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-name"> + <refnamediv> + <refname>mysql_field_name</refname> + <refpurpose> + Haal de naam op van het gegeven veld in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_name</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_index</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_name</function> geeft de naam van de gegeven veld + index terug. <parameter>result</parameter> moet een geldige + result identifier zijn en <parameter>field_index</parameter> is de + numerieke index van het veld. + </para> + <note> + <para> + <parameter>field_index</parameter> begint bij 0. + </para> + <para> + Bijvoorbeeld: de index van het derde veld is 2, de index + van het vierde veld 3 enzovoort. + </para> + </note> + <para> + <example> + <title>MySQL field name voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +// De users tabel bestaat uit drie velden: +// user_id +// username +// password. +$link = mysql_connect('localhost', $user, "secret"); +mysql_select_db($dbname, $link) + or die("Kan $dbname niet selecteren"); +$res = mysql_query("select * from users", $link); + +echo mysql_field_name($res, 0) . "\n"; +echo mysql_field_name($res, 2); +]]> + </programlisting> + <para> + Het bovenstaande voorbeeld zou de volgende output produceren: + <screen> +<![CDATA[ +user_id +password +]]> + </screen> + </para> + </example> + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldname</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-len"> + <refnamediv> + <refname>mysql_field_len</refname> + <refpurpose> + Geeft de lengte van het gegeven veld terug + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_field_len</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_len</function> geeft de lengte van het gegeven veld terug. + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldlen</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-seek"> + <refnamediv> + <refname>mysql_field_seek</refname> + <refpurpose> + Zet de resultaat pointer op een gegeven veld index + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_field_seek</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + Zoekt naar de gespecificeerde veld index. Als de volgende aanroep van + <function>mysql_fetch_field</function> geen veld index meegeeft, + zal de veld index gegeven in <function>mysql_field_seek</function> + worden teruggegeven. + </para> + <para> + Zie ook: <function>mysql_fetch_field</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-table"> + <refnamediv> + <refname>mysql_field_table</refname> + <refpurpose> + Geef de naam van de tabel waar het gegeven veld in zit + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_table</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + Geeft de naam van de tabel waar het gegeven veld bijhoort terug. + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldtable</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-type"> + <refnamediv> + <refname>mysql_field_type</refname> + <refpurpose> + Geef het type van het gegeven veld in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_type</methodname> + <methodparam><type>iresource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_type</function> lijkt op de + <function>mysql_field_name</function> functie. De argumenten zijn + identiek, maar het veld type wordt teruggegeven. Het veldtype kan + bijvoorbeeld "int", "real", "string", "blob" zijn, of iets anders, + zoals uitgebreid wordt beschreven in de <ulink url="&url.mysql.docs;"> + MySQL documentatie</ulink>. + <example> + <title>MySQL field type voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + +mysql_connect("localhost:3306"); +mysql_select_db("wisconsin"); +$result = mysql_query("SELECT * FROM onek"); +$fields = mysql_num_fields($result); +$rows = mysql_num_rows($result); +$i = 0; +$table = mysql_field_table($result, $i); +echo "Je '".$table."' tabel heeft ".$fields." velden en ".$rows." records <BR>"; +echo "De tabel heeft de volgende velden: <BR>"; +while ($i < $fields) { + $type = mysql_field_type($result, $i); + $name = mysql_field_name($result, $i); + $len = mysql_field_len($result, $i); + $flags = mysql_field_flags($result, $i); + echo $type." ".$name." ".$len." ".$flags."<BR>"; + $i++; +} +mysql_close(); + +?> +]]> + </programlisting> + </example> + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldtype</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-free-result"> + <refnamediv> + <refname>mysql_free_result</refname> + <refpurpose>Maak geheugen van het resultaat vrij</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_free_result</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_free_result</function> zal al het geheugen vrij maken + dat is geassocieerd met de result identifier <parameter>result</parameter>. + </para> + <para> + <function>mysql_free_result</function> hoeft alleen te worden + aangeroepen als je je zorgen maakt over hoeveel geheugen + wordt gebruikt voor queries die grote resultaten teruggeven. Al + het geassocieerde geheugen wordt automatisch vrijgemaakt aan + het eind van de executie van het script. + </para> + <para> + &return.success; + </para> + <para> + Voor compatibiliteit kan <function>mysql_freeresult</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-insert-id"> + <refnamediv> + <refname>mysql_insert_id</refname> + <refpurpose> + Geef het id dat gegenereerd werd door de vorige INSERT query + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_insert_id</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_insert_id</function> geeft het ID terug voor een + AUTO_INCREMENT kolom door de vorige INSERT query door de gegeven + <parameter>link_identifier</parameter> te gebruiken. Als + <parameter>link_identifier</parameter> niet wordt gegeven, wordt de laatst + geopende link aangenomen. + </para> + <para> + <function>mysql_insert_id</function> geeft 0 terug als de vorige + query geen AUTO_INCREMENNT waarde heeft gegenereerd. Als je de waarde + wil bewaren voor later, zorg ervoor dat je <function>mysql_insert_id</function> + direct na de query die de waarde genereert aanroept. + </para> + <note> + <para> + De waarde van de MySQL functie <literal>LAST_INSERT_ID()</literal> + geeft altijd de laatst gegenereerde AUTO_INCREMENT waarde, + en wordt niet gereset tussen queries. + </para> + </note> + <warning> + <para> + <function>mysql_insert_id</function> converteert het return type + van de native MySQL C API functie <literal>mysql_insert_id()</literal> + naar het type <literal>long</literal> (<type>int</type> in PHP). + Als je AUTO_INCREMENT kolom het type BIGINT heeft, zal de waarde + doe wordt teruggegeven door <function>mysql_insert_id</function> + incorrect zijn. Gebruik in plaats daarvan de interne MySQL SQL functie + <literal>LAST_INSERT_ID()</literal> in een SQL query. + </para> + </warning> + </refsect1> + </refentry> + + <refentry id="function.mysql-list-dbs"> + <refnamediv> + <refname>mysql_list_dbs</refname> + <refpurpose> + Geef een lijst van beschikbare databases op een MySQL server + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_list_dbs</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_list_dbs</function> zal een result pointer + teruggeven met daarin de databases die beschikbaar zijn op de + huidige mysql daemon. Gebruik de <function>mysql_tablename</function> + functie om deze result pointer te doorlopen, of een andere functie + voor resultaat-tabellen. + </para> + <para> + <example> + <title>MySQL list dbs voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +$link = mysql_connect('localhost', 'myname', 'secret'); +$db_list = mysql_list_dbs($link); + +while ($row = mysql_fetch_object($db_list)) { + echo $row->Database . "\n"; +} +?> +]]> + </programlisting> + <para> + Het bovenstaande voorbeeld zal de volgende output produceren: + <screen> +<![CDATA[ +database1 +database2 +database3 +... +]]> + </screen> + </para> + </example> + </para> + <note> + <para> + De bovenstaande code zal even goed werken met <function>mysql_fetch_row</function> + of andere vergelijkbare functies. + </para> + </note> + <para> + Voor compatibiliteit kan <function>mysql_listdbs</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + <para> + Zie ook: <function>mysql_db_name</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-list-fields"> + <refnamediv> + <refname>mysql_list_fields</refname> + <refpurpose>Geef een lijst van MySQL resultaat velden</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_list_fields</methodname> + <methodparam><type>string</type><parameter>database_name</parameter></methodparam> + <methodparam><type>string</type><parameter>table_name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_list_fields</function> haalt informatie op over + de gegeven tabelnaam. Argumenten zijn de database naam en de tabel + naam. Een result pointer wordt teruggegeven die gebruikt kan + worden met <function>mysql_field_flags</function>, + <function>mysql_field_len</function>, + <function>mysql_field_name</function>, en + <function>mysql_field_type</function>. + </para> + <para> + <example> + <title>MySQL list fields voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +$link = mysql_connect('localhost', 'myname', 'secret'); + +$fields = mysql_list_fields("database1", "table1", $link); +$columns = mysql_num_fields($fields); + +for ($i = 0; $i < $columns; $i++) { + echo mysql_field_name($fields, $i) . "\n";; +} +]]> + </programlisting> + <para> + Het bovenstaande voorbeeld zal de volgende output produceren: + <screen> +<![CDATA[ +field1 +field2 +field3 +... +]]> + </screen> + </para> + </example> + </para> + <para> + Voor compatibiliteit kan <function>mysql_listfields</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + <!-- TODO: this is equiv. with 'select * from $table where &false;,' + which implies you can better use the field-research functions + on a real query, that saves you one mysql-query. + --> + </refsect1> + </refentry> + + <refentry id="function.mysql-list-tables"> + <refnamediv> + <refname>mysql_list_tables</refname> + <refpurpose>Geef een lijst van tabellen in een MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_list_tables</methodname> + <methodparam><type>string</type><parameter>database</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_list_tables</function> neemt een database naam en geeft + een result pointer terug, zoals de <function>mysql_query</function> functie. + Je kunt de <function>mysql_tablename</function> functie gebruiken om de + eigenlijke tabelnamen uit de result pointer te halen, of een andere + result tabel functie. to extract the + </para> + <para> + Voor compatibiliteit kan <function>mysql_listtables</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-num-fields"> + <refnamediv> + <refname>mysql_num_fields</refname> + <refpurpose>Geef het aantal velden in een resultaat</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_num_fields</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_num_fields</function> geeft het aantal velden + in een resultaat set. + </para> + <para> + Zie ook: + <function>mysql_db_query</function>, + <function>mysql_query</function>, + <function>mysql_fetch_field</function>, + <function>mysql_num_rows</function>.</para> + <para> + Voor compatibiliteit kan <function>mysql_numfields</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-num-rows"> + <refnamediv> + <refname>mysql_num_rows</refname> + <refpurpose>Geef het aantal rijen in een resultaat</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_num_rows</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_num_rows</function> geeft het aantal rijen + in een resultaat set terug. Dit commando is alleen geldig + voor SELECT queries. Om het aantal rijen op te halen dat werd + betrokken bij een INSERT, UPDATE of DELETE query, gebruik + <function>mysql_affected_rows</function>. + <example> + <title>MySQL num rows voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + +$link = mysql_connect("localhost", "username", "password"); +mysql_select_db("database", $link); + +$result = mysql_query("SELECT * FROM table1", $link); +$num_rows = mysql_num_rows($result); + +echo "$num_rows Rows\n"; + +?> +]]> + </programlisting> + </example> + </para> + <para> + Zie ook: + <function>mysql_affected_rows</function>, + <function>mysql_connect</function>, + <function>mysql_select_db</function>, + <function>mysql_query</function>. + </para> + <para> + Voor compatibiliteit kan <function>mysql_numrows</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-pconnect"> + <refnamediv> + <refname>mysql_pconnect</refname> + <refpurpose> + Open een persistente verbinding naar een MySQL server + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_pconnect</methodname> + <methodparam choice="opt"><type>string</type><parameter> + server + </parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>username</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>password</parameter></methodparam> + </methodsynopsis> + <para> + Geeft een positieve MySQL persistente link indentifier bij succes, + of &false; bij een fout. + </para> + <para> + <function>mysql_pconnect</function> maakt een verbinding met + een MySQL server. De volgende defaults worden aangenomen voor + missende optionele parameters: <parameter>server</parameter> = + 'localhost:3306', <parameter>username</parameter> = naam van de + gebruiker die het server process ownt en <parameter>password</parameter> + = leeg password. + </para> + <para> + De <parameter>server</parameter> parameter kan ook een port nummer + meekrijgen, bijvoorbeeld "hostname:port", of een pad naar + een socket, bijvoorbeeld ":/path/to/socket" voor de localhost. + <note> + <para> + Ondersteuning voor ":port" werd toegevoegd in 3.0B4. + </para> + <para> + Ondersteuning voor ":/path/to/socket" werd toegevoegd in + 3.0.10. + </para> + </note> + </para> + + <para> + <function>mysql_pconnect</function> doet bijna hetzelfde als + <function>mysql_connect</function>, met twee grote verschillen. + </para> + <para> + Ten eerste, wanneer je verbinding maakt, zal de functie eerst + proberen een (persistente) link te openen die al open staat + met dezelfde host, username en password. Als er een gevonden wordt + zal een identifier ervoor worden teruggegeven, in plaats van een + nieuwe verbinding te openen. + </para> + <para> + Ten tweede, de verbinding met de SQL server zal niet worden gesloten + wanneer de executie van het script klaar is. In plaats daarvan zal + de link open blijven voor toekomstig gebruik (<function>mysql_close</function> + zal geen links sluiten die werden gemaakt door + <function>mysql_pconnect</function>). + </para> + <para> + Dit type link wordt daarom 'persistent' genoemd. + </para> + <note> + <para> + Let er op dat dit soort links alleen werken als je een module + versie van PHP gebruikt. Zie de + <link linkend="features.persistent-connections">Persistente + Database connecties</link> sectie voor meer informatie. + </para> + </note> + <warning> + <para> + Het gebruiken van persistente verbindingen kan een beetje instelling van + PHP en MySQL configuraties vereisen om er zeker van te zijn dat je het maximum + aantal toegestane verbindingen door MySQL niet overschrijdt. + </para> + </warning> + </refsect1> + </refentry> + + <refentry id="function.mysql-query"> + <refnamediv> + <refname>mysql_query</refname> + <refpurpose>Verstuur een MySQL query</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_query</methodname> + <methodparam><type>string</type><parameter>query</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_query</function> stuurt een query naar de + huidige actieve database op de server die wordt + geassocieerd met de gegeven link identifier. Als + <parameter>link_identifier</parameter> niet wordt gegeven, wordt de + laatst geopende link aangenomen. Als er geen link open is, + probeert de functie een link te maken alsof + <function>mysql_connect</function> wordt aangeroepen zonder + argumenten, en die te gebruiken. + </para> + <note> + <para> + De query string moet niet eindigen met een puntkomma. + </para> + </note> + <para> + Alleen voor SELECT, SHOW, EXPLAIN en DESCRIBE queries + geeft <function>mysql_query</function> een resource + identifier terug of &false; als de query niet correct + werd uitgevoerd. Voor andere soorten SQL queries geeft + <function>mysql_query</function> &true terug bij succes + en &false; bij een fout. Een niet-&false; waarde geeft aan + dat de query legaal was en kon worden uitgevoerd door de + server. Hij geeft echter niets aan over het aantal rijen + betrokken of teruggegeven. Het is zeer goed mogelijk dat een + query goed wordt uitgevoerd maar geen rijen wijzigt of teruggeeft. + </para> + <para> + De volgende query is syntactisch ongeldig, dus + <function>mysql_query</function> faaalt en geeft &false; terug: + <example> + <title>MySQL query voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<php +$result = mysql_query("SELECT * WHERE 1=1") + or die("Ongeldige query"); +?> +]]> + </programlisting> + </example> + </para> + <para> + De volgende query is semantisch ongeldig als + <literal>my_col</literal> geen kolom is in de tabel + <literal>my_tbl</literal>, dus <function>mysql_query</function> + faalt en geeft &false; terug: + <example> + <title>MySQL query voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +$result = mysql_query("SELECT my_col FROM my_tbl") + or exit ("Ongeldige query"); +?> +]]> + </programlisting> + </example> + </para> + <para> + <function>mysql_query</function> zal ook falen en &false; teruggeven + als je geen permissie hebt om toegang te krijgen tot de tabellen + die in de query genoemd worden. + </para> + <para> + Aangenomen dat de query goed gaat, kun je + <function>mysql_num_rows</function> aanroepen om uit te vinden + hoeveel rijen er werden teruggegeven voor een SELECT + statement, of <function>mysql_affected_rows</function> om + uit te vinden hoeveel rijen betrokken waren bij een + DELETE, INSERT, REPLACE, of UPDATE query. + </para> + <para> + Alleen bij SELECT, SHOW, DESCRIBE en EXPLAIN queries geeft + <function>mysql_query</function> een nieuwe result identifier + terug die je door kunt geven aan <function>mysql_fetch_array</function> + en andere functies die met resultaat tabellen van doen hebben. Wanneer + je klaar bent met de resultaat set, kun je de bronnen die + ermee geassocieerd zijn vrij maken door + <function>mysql_free_result</function> aan te roepen. Het geheugen + zal echter automatisch worden vrijgemaakt aan het eind van + de uitvoering van het script. + </para> + <para> + Zie ook: <function>mysql_num_rows</function>, + <function>mysql_affected_rows</function>, + <function>mysql_unbuffered_query</function>, + <function>mysql_free_result</function>, + <function>mysql_fetch_array</function>, + <function>mysql_fetch_row</function>, + <function>mysql_fetch_assoc</function>, + <function>mysql_result</function>, + <function>mysql_select_db</function>, + <function>mysql_connect</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-unbuffered-query"> + <refnamediv> + <refname>mysql_unbuffered_query</refname> + <refpurpose> + Stuur een SQL query naar MySQL zonder resultaten op te halen en te bufferen + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_unbuffered_query</methodname> + <methodparam><type>string</type><parameter>query</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_unbuffered_query</function> stuurt een SQL + <parameter>query</parameter> naar MySQL, zonder de resultaat rijen + automatisch op te halen en te bufferen, zoals bij + <function>mysql_query</function>. Aan de ene kant spaart + dit een behoorlijke hoeveelheid geheugen met SQL queries + die grote resultaat sets opleveren. Aan de andere kant kun je + beginnen met werken met de resultaten set onmiddellijk nadat + de eerste rij is opgehaald: je hoeft niet te wachten tot de + volledige SQL query is uitgevoerd. Wanneer je meerdere verbindingen + gebruikt, moet je de optionele parameter + <parameter>link_identifier</parameter> geven. + </para> + <note> + <para> + De voordelen van <function>mysql_unbuffered_query</function> hebben + een nadeel: je kan <function>mysql_num_rows</function> niet gebruiken met + een resultaat set die werd teruggegeven door + <function>mysql_unbuffered_query</function>. Bovendien moet je alle resultaat + rijen van een ongebufferde SQL query ophalen alvorens je een nieuwe + SQL query naar MySQL kunt sturen. + </para> + </note> + <para> + Zie ook: <function>mysql_query</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-result"> + <refnamediv> + <refname>mysql_result</refname> + <refpurpose>Geef de resultaat data</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>mixed</type><methodname>mysql_result</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>row</parameter></methodparam> + <methodparam choice="opt"><type>mixed</type><parameter> + field + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_result</function> geeft de inohud terug van een + cel van een MySQL resultaat set. Het veld argument kan de index + van het veld zijn, of de naam van het veld, of de tabelnaam van het veld + punt de veldnaam (tabelnaam.veldnaam). Als de kolom naam + is ge-aliased ('select foo as bar from...') gebruik dan het alias + in plaats van de kolom naam. + </para> + <para> + Als je werkt met grote resultaat sets, zou je het gebruik van een + van de functies die een hele rij (hieronder gegeven) ophalen moeten + overwegen. Omdat deze functies de inhoud van meerdere cellen in een + functie aanroep ophalen, zijn ze VEEL sneller dan + <function>mysql_result</function>. Let er bovendien op dat + het geven van een numerieke index voor het veld argument veel + sneller is dan het geven van een veldnaam of een tabelnaam.veldnaam + argument. + </para> + <para> + Aanroepen naar <function>mysql_result</function> mogen niet worden + gemengd met aanroepen naar andere functies die met de resultaat + set van doen hebben. + </para> + <para> + Aan te raden hoge-performance alternatieven: + <function>mysql_fetch_row</function>, + <function>mysql_fetch_array</function>, + <function>mysql_fetch_object</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-select-db"> + <refnamediv> + <refname>mysql_select_db</refname> + <refpurpose>Selecteer een MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_select_db</methodname> + <methodparam><type>string</type><parameter>database_name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> + <function>mysql_select_db</function> stelt de huidige actieve + database in op de server die wordt geassocieerd met de gegeven + link identifier. Als er geen link identifier wordt gegeven, wordt + de laatst geopende link aangenomen. Als er geen link open is, zal + de functie proberen om een link te maken alsof + <function>mysql_connect</function> werd aangeroepen zonder argumenten, + en die te gebruiken. + </para> + <para> + Elke volgende aanroep van <function>mysql_query</function> zal worden + gedaan op de actieve database. + </para> + <para> Zie ook: + <function>mysql_connect</function>, + <function>mysql_pconnect</function>, + <function>mysql_query</function>. + </para> + <para> + Voor compatibiliteit kan <function>mysql_selectdb</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-tablename"> + <refnamediv> + <refname>mysql_tablename</refname> + <refpurpose>Geef de tabelnaam van een veld</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_tablename</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>i</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_tablename</function> neemt een result pointer + gegeven door de <function>mysql_list_tables</function> functie + en een integer index aan en geeft de naam van de tabel terug. De + <function>mysql_num_rows</function> functie kan worden gebruikt + om het aantal tabellen in de result pointer te vinden. + <example> + <title>MySQL tablename voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect("host"); +$result = mysql_list_tables("wisconsin"); +for ($i = 0; $i < mysql_num_rows($result); $i++) { + $tb_names[$i] = mysql_tablename($result, $i); + echo $tb_names[$i] . "<BR>"; +} +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-client-info"> + <refnamediv> + <refname>mysql_get_client_info</refname> + <refpurpose>Geef MySQL client info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_get_client_info</methodname> + <void/> + </methodsynopsis> + <para> + <function>mysql_get_client_info</function> geeft een string die + de library version van de client weergeeft. + </para> + <para> + <function>mysql_get_client_info</function> werd toegevoegd PHP 4.0.5. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-host-info"> + <refnamediv> + <refname>mysql_get_host_info</refname> + <refpurpose>Geef MySQL host info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_get_host_info</methodname> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_get_host_info</function> geeft een string + terug die een beschrijving is van het type verbinding in gebruik + voor de <parameter>link_identifier</parameter> verbinding, inclusief + de server host naam. Als <parameter>link_identifier</parameter> niet + wordt gegeven, wordt de laatst geopende verbinding gebruikt. + </para> + <para> + <function>mysql_get_host_info</function> werd toegevoegd in PHP 4.0.5. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-proto-info"> + <refnamediv> + <refname>mysql_get_proto_info</refname> + <refpurpose>Geef MySQL protocol info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_get_proto_info</methodname> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_get_proto_info</function> geeft de protocol + versie die gebruikt wordt door de verbinding + <parameter>link_identifier</parameter>. Als + <parameter>link_identifier</parameter> wordt weggelaten, wordt + de laatst geopende verbinding gebruikt. + </para> + <para> + <function>mysql_get_proto_info</function> werd toegevoegd in PHP 4.0.5. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-server-info"> + <refnamediv> + <refname>mysql_get_server_info</refname> + <refpurpose>Geef MySQL server info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_get_server_info</methodname> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_get_server_info</function> geeft de server versie + die gebruikt wordt door verbinding + <parameter>link_identifier</parameter>. Als + <parameter>link_identifier</parameter> wordt weggelaten, wordt + de laatst geopende verbinding gebruikt. + </para> + <para> + <function>mysql_get_proto_info</function> werd toegevoegd in PHP 4.0.5. + </para> + </refsect1> + </refentry> + </reference> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> +
Index: phpdoc/nl/functions/mysql.xml diff -u /dev/null phpdoc/nl/functions/mysql.xml:1.4 --- /dev/null Sun Mar 24 18:19:05 2002 +++ phpdoc/nl/functions/mysql.xml Sun Mar 24 18:19:05 2002 @@ -0,0 +1,2248 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.4 $ --> + <reference id="ref.mysql"> + <title>MySQL Functies</title> + <titleabbrev>MySQL</titleabbrev> + + <partintro> + <para id="mysql.intro"> + Deze functies maken toegang tot MySQL database servers mogelijk. + Meer informatie over MySQL is te vinden op <ulink + url="&url.mysql;">&url.mysql;</ulink>. + </para> + <para> + Documentatie voor MySQL is te vinden op <ulink + url="&url.mysql.docs;">&url.mysql.docs;</ulink>. + </para> + + <section id="mysql.requirements"> + <title>Benodigdheden</title> + <para> + Om deze functies te gebruiken moet PHP gecompileerd zijn met + ondersteuning voor MySQL. + </para> + </section> + + <section id="mysql.installation"> + <title>Installatie</title> + <para> + Door de <option role="configure">--with-mysql</option> configuratie + optie te gebruiken kan PHP toegang krijgen tot MySQL databases. Als deze + optie gebruikt wordt zonder het pad naar MySQL te specificeren, zal PHP + de ingebouwde MySQL client libraries gebruiken. Met PHP4 is MySQL ondersteuning + altijd aan; als je de configuratie optie niet specificeert, worden de bijgevoegde + libraries gebruikt. Gebruikers die andere applicaties draaien die MySQL gebruiken + (bijvoorbeeld mensen die PHP 3 en PHP 4 naast elkaar draaien als Apache modules, + of auth-mysql) moeten altijd het pad naar MySQL specificeren: <option + role="configure">--with-mysql=/path/to/mysql</option>. Dit zorgt ervoor dat PHP + de client libraries die door MySQL geinstalleerd zijn gebruikt, zodat een conflict + voorkomen wordt. + </para> + </section> + + <section id="mysql.configuration"> + <title>Runtime Configuratie</title> + <para> + Het gedrag van de MySQL functies wordt mede bepaald door instellingen in de + globale <link linkend="configuration">configuratie</link> file. + <table> + <title><link linkend="ini.sect.mysql">MySQL Configuratie</link> Opties</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Naam</entry> + <entry>Default</entry> + <entry>Veranderbaar</entry> + </row> + </thead> + <tbody> + <row> + <entry>mysql.allow_persistent</entry> + <entry>"On"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.max_persistent</entry> + <entry>"-1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.max_links</entry> + <entry>"-1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.default_port</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_socket</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_host</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_user</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + Zie ook <function>ini_set</function> voor verdere details en de definitie + van de PHP_INI_* constanten. + </para> + </section> + + <section id="mysql.resources"> + <title>Resource typen</title> + <para> + De MySQL module gebruikt twee resource typen. De eerste is de link identifier + voor een verbinding met een database, de tweede is een resource voor de resultaten van + een query. + </para> + </section> + + <section id="mysql.constants"> + <title>Predefined constanten</title> + <para> + De functie <function>mysql_fetch_array</function> gebruikt een constante + voor de verschillende typen van de resultaat-arrays. De volgende + constanten zijn gedefinieerd: + <table> + <title>MySQL fetch constanten</title> + <tgroup cols="2"> + <thead> + <row> + <entry>constante</entry> + <entry>betekenis</entry> + </row> + </thead> + <tbody> + <row> + <entry>MYSQL_ASSOC</entry> + <entry> + Kolommen worden teruggegeven in de array met de veldnaam als de + array index. + </entry> + </row> + <row> + <entry>MYSQL_BOTH</entry> + <entry> + Kolommen worden teruggegeven in de array met zowel een numerieke + index als de veldnaam als de array index. + </entry> + </row> + <row> + <entry>MYSQL_NUM</entry> + <entry> + Kolommen worden teruggegeven in de array met een numerieke index + voor de velden. Deze index begint met 0, het eerste veld in het resultaat. + </entry> + </row> + </tbody> + </tgroup> + </table> + </para> + </section> + + <section id="mysql.examples"> + <title>Voorbeelden</title> + <para> + Dit simpele voorbeeld laat zien hoe verbinding met een MySQL database + tot stand wordt gebracht, + er een query wordt uitgevoerd, resulterende rijen worden geprint en + hoe de verbinding weer wordt gesloten. + <example> + <title>MySQL extensie overzicht voorbeeld</title> + <programlisting role="php"> + <![CDATA[ + <?php + // Verbinding maken, een database selecteren + $link = mysql_connect("mysql_host", "mysql_login", "mysql_password") + or die("Kan geen verbinding maken"); + print "Verbinding succesvol gemaakt"; + mysql_select_db("my_database") + or die("Kan geen database selecteren"); + + // Een SQL query uitvoeren + $query = "SELECT * FROM my_table"; + $result = mysql_query($query) + or die("Fout bij uitvoeren query"); + + // Printen resultaten in HTML + print "<table>\n"; + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + print "\t<tr>\n"; + foreach ($line as $col_value) { + print "\t\t<td>$col_value</td>\n"; + } + print "\t</tr>\n"; + } + print "</table>\n"; + + // Resultaat-set vrij maken + mysql_free_result($result); + + // Verbinding afsluiten + mysql_close($link); + ?> + ]]> + </programlisting> + </example> + </para> + </section> + </partintro> + + <refentry id="function.mysql-affected-rows"> + <refnamediv> + <refname>mysql_affected_rows</refname> + <refpurpose>Geeft het aantal betrokken rijen in de vorige + MySQL operatie</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_affected_rows</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_affected_rows</function> geeft het aantal rijen + dat betrokken was bij de laatste INSERT, UPDATE of DELETE query + die geassocieerd was met <parameter>link_identifier</parameter>. Als + de link identifier niet gegeven is, wordt de link die als laatste werd + geopend met <function>mysql_connect</function> gebruikt. + </para> + <note> + <para> + Als je transacties gebruikt, moet je + <function>mysql_affected_rows</function> na je INSERT, + UPDATE, of DELETE query aanroepen, niet na de commit. + </para> + </note> + <para> + Als de laatste query een DELETE query zondere WHERE clause was, + zullen alle records uit de tabel zijn verwijderd, maar deze functie + zal nul teruggeven. + </para> + <note> + <para> + Wanneer UPDATE gebruikt wordt, zal MySQL geen kolommen veranderen + waar de nieuwe waarde hetzelfde is als de oude waarde. Dit geeft + de mogelijkheid dat <function>mysql_affected_rows</function> misschien + niet het aantal rijen dat werd gevonden geeft, maar alleen het aantal + rijen dat letterlijk werd aangepast door de query. + </para> + </note> + <para> + <function>mysql_affected_rows</function> werkt niet met + SELECT queries; alleen met queries die records wijzigen. Om + het aantal rijen dat werd teruggegeven door een SELECT te + te achterhalen, kun je <function>mysql_num_rows</function> + gebruiken. + </para> + <para> + Als de laatste query faalde, geeft deze functie -1 terug. + </para> + <para> + Zie ook: <function>mysql_num_rows</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-change-user"> + <refnamediv> + <refname>mysql_change_user</refname> + <refpurpose> + Verander de ingelogde gebruiker van de actieve sessie + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_change_user</methodname> + <methodparam><type>string</type><parameter>user</parameter></methodparam> + <methodparam><type>string</type><parameter>password</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter> + database + </parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_change_user</function> verandert de ingelogde gebruiker + van de huidige actieve verbinding, of de verbinding die is gegeven + door de optionele <parameter>link_identifier</parameter> parameter. Als + een database is gegeven, wordt die geselecteerd nadat de gebruiker is veranderd. + Als de nieuwe gebruiker en wachtwoord autorisatie faalt, blijft + de huidige verbonden gebruiker actief. + </para> + <note> + <para> + Deze functie werd geïntroduceerd in PHP 3.0.13 en heeft + MySQL 3.23.3 of hoger nodig. + </para> + </note> + </refsect1> + </refentry> + + <refentry id="function.mysql-close"> + <refnamediv> + <refname>mysql_close</refname> + <refpurpose>Sluit MySQL verbinding</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_close</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> <function>mysql_close</function> sluit de verbinding met + de MySQL server die geassocieerd is met de gegeven + <parameter>link identifier</parameter>. Als <parameter>link_identifier</parameter> + niet gegeven wordt, wordt de laatst geopende link gebruikt. + </para> + <para> + Het gebruik van <function>mysql_close</function> is normaal niet nodig, + omdat niet-persisente open links automatisch gesloten worden aan het + eind van het script. Zie ook + <link linkend="language.types.resource.self-destruct">het vrijmaken van + resources</link>. + </para> + <note> + <para> + <function>mysql_close</function> zal persistente links die met + <function>mysql_pconnect</function> gemaakt zijn niet sluiten. + </para> + </note> + <example> + <title>MySQL close voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_connect("kraemer", "marliesle", "secret") + or exit("Kan niet verbinden"); + print ("Verbinding tot stand gebracht"); + mysql_close($link); +?> +]]> + </programlisting> + </example> + <para> + Zie ook: <function>mysql_connect</function> en + <function>mysql_pconnect</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-connect"> + <refnamediv> + <refname>mysql_connect</refname> + <refpurpose>Maak een verbinding met een MySQL Server</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_connect</methodname> + <methodparam choice="opt"><type>string</type><parameter> + server + </parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter> + username + </parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter> + password + </parameter></methodparam> + <methodparam choice="opt"><type>bool</type><parameter> + new_link + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een MySQL link identifier terug bij succes, of &false; bij falen. + </para> + <para> + <function>mysql_connect</function> maakt een verbinding met een + MySQL server. De volgende defaults worden aangenomen voor + missende optionele parameters: <parameter>server</parameter> = + 'localhost:3306', <parameter>username</parameter> = naam van de + gebruiker die owner is van het server process en + <parameter>password</parameter> = leeg password. + </para> + <para> + De <parameter>server</parameter> parameter kan ook een poort nummer + bijgevoegd hebben, bijvoorbeeld "hostname:port", of een pad + naar een socket, bijvoorbeeld ":/path/to/socket" voor de localhost. + <note> + <para> + Ondersteuning voor ":port" werd toegevoegd in PHP 3.0B4. + </para> + <para> + Ondersteuning voor ":/path/to/socket" werd toegevoegd in + PHP 3.0.10. + </para> + <para> + De foutmelding bij falen kan onderdrukt worden door + <link linkend="language.operators.errorcontrol">@</link> + toe te voegen voor de functienaam. + </para> + </note> + </para> + <para> + Als <function>mysql_connect</function> een tweede keer wordt aangeroepen + met dezelfde argumenten, zal er geen nieuwe link worden geopend, maar wordt + in plaats daarvan de link identifier van de al geopende link teruggegeven. + De <parameter>new_link</parameter> parameter wijzigt dit + gedrag en zorgt dat <function>mysql_connect</function> altijd een nieuwe link maakt, + zelfs als <function>mysql_connect</function> al eerder was aangeroepen met + dezelfde parameters. + </para> + <note> + <para> + De <parameter>new_link</parameter> parameter werd beschikbaar + in PHP 4.2.0. + </para> + </note> + <para> + De link naar de server zal worden gesloten zodra de executie van het + script eindigt, tenzij hij eerder expliciet gesloten wordt door + het aanroepen van <function>mysql_close</function>. + </para> + <example> + <title>MySQL connect voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_connect("localhost", "username", "secret") + or die("Kan niet verbinden"); + print ("Verbinding tot stand gebracht"); + mysql_close($link); +?> +]]> + </programlisting> + </example> + <para> Zie ook + <function>mysql_pconnect</function> en + <function>mysql_close</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-create-db"> + <refnamediv> + <refname>mysql_create_db</refname> + <refpurpose>Maakt een nieuwe MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_create_db</methodname> + <methodparam><type>string</type><parameter>database name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_create_db</function> probeert een nieuwe database + te maken op de server die geassocieerd is met de gegeven + link identifier. + </para> + <para> + &return.success; + </para> + <example> + <title>MySQL create database voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_pconnect("kron", "jutta", "geheim") + or exit("Kan geen verbinding maken"); + if (mysql_create_db("my_db")) { + print ("Database succesvol gemaakt\n"); + } else { + printf ("Error bij het maken van database: %s\n", mysql_error ()); + } +?> +]]> + </programlisting> + </example> + <para> + Voor compatibiliteit kan <function>mysql_createdb</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + <para> + Zie ook: <function>mysql_drop_db</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-data-seek"> + <refnamediv> + <refname>mysql_data_seek</refname> + <refpurpose>Verplaats interne resultaat pointer</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_data_seek</methodname> + <methodparam><type>resource</type><parameter>result_identifier</parameter></methodparam> + <methodparam><type>int</type><parameter>row_number</parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> + <function>mysql_data_seek</function> verplaatst de interne rij pointer + van de MySQL resultaat set die geassocieerd is met de gegeven result + identifier naar het gespecificeerde rijnummer. De volgende keer dat + <function>mysql_fetch_row</function> wordt aangeroepen zal die rij + teruggegeven worden. + </para> + <para> + <parameter>Row_number</parameter> begint bij 0. + </para> + <example> + <title>MySQL data seek voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + $link = mysql_pconnect("kron", "jutta", "geheim") + or die("Kan geen verbinding maken"); + + mysql_select_db("samp_db") + or exit("Kan geen database selecteren"); + + $query = "SELECT last_name, first_name FROM friends"; + $result = mysql_query($query) + or die("Query heeft gefaald"); + + // fetch rows in reverse order + + for ($i = mysql_num_rows($result) - 1; $i >=0; $i--) { + if (!mysql_data_seek($result, $i)) { + echo "Kan rij $i niet vinden\n"; + continue; + } + + if(!($row = mysql_fetch_object($result))) + continue; + + echo "$row->last_name $row->first_name<br />\n"; + } + + mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-db-name"> + <refnamediv> + <refname>mysql_db_name</refname> + <refpurpose>Haal resultaat-gegevens</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_db_name</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>row</parameter></methodparam> + <methodparam choice="opt"><type>mixed</type><parameter> + field + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_db_name</function> neemt als zijn eerste parameter + een resultaat pointer van een aanroep naar + <function>mysql_list_dbs</function> aan. De + <parameter>row</parameter> parameter is een index op de resultaat + set. + </para> + <para> + Als er een fout wordt gemaakt, wordt &false; teruggegeven. Gebruik + <function>mysql_errno</function> en + <function>mysql_error</function> om de oorzaak van de fout te + onderzoeken. + </para> + <example> + <title><function>mysql_db_name</function> voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +error_reporting(E_ALL); + +mysql_connect('dbhost', 'username', 'password'); +$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++; +} +?> +]]> + </programlisting> + </example> + <para> + Voor compatibiliteit wordt <function>mysql_dbname</function> ook + geaccepteerd. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-db-query"> + <refnamediv> + <refname>mysql_db_query</refname> + <refpurpose>Stuur een MySQL query</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_db_query</methodname> + <methodparam><type>string</type><parameter>database</parameter></methodparam> + <methodparam><type>string</type><parameter>query</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een positieve MySQL resultaat resource voor het resultaat van de + query terug, of &false; bij een fout. + </para> + <para> + <function>mysql_db_query</function> selecteert een database en + voert een query uit op die database. Als de optionele link identifier niet + wordt gegeven, zal de functie proberen een open link naar de MySQL server + te vinden en als zo'n link niet wordt gevonden zal hij proberen een + link te maken alsof <function>mysql_connect</function> werd aangeroepen zonder + argumenten. + </para> + <para> + Zie ook <function>mysql_connect</function> en + <function>mysql_query</function>. + </para> + <para> + <note> + <simpara> + Deze functie wordt afgekeurd sinds PHP 4.0.6. + Gebruik deze functie niet. Gebruik <function>mysql_select_db</function> + en <function>mysql_query</function> in plaats daarvan. + </simpara> + </note> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-drop-db"> + <refnamediv> + <refname>mysql_drop_db</refname> + <refpurpose>Verwijder een MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_drop_db</methodname> + <methodparam><type>string</type><parameter>database_name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> + <function>mysql_drop_db</function> probeert een hele database + te verwijderen van de server die geassocieerd wordt met + de gegeven link identifier. + </para> + <para> + Voor compatibiliteit kan <function>mysql_dropdb</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + <para> + Zie ook: <function>mysql_create_db</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-errno"> + <refnamediv> + <refname>mysql_errno</refname> + <refpurpose> + Geeft de numerieke waarde van het foutbericht van de vorige + MySQL operatie. + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_errno</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft het fout nummer van de laatste MySQL functie, of + <literal>0</literal> (nul) als er geen error optrad. + </para> + <para> + Errors die terug komen van de MySQL database module geven geen + warnings meer. In plaats daarvan kun je <function>mysql_errno</function> + gebruiken om de fout code op te halen. Merk op dat deze functie alleen + de fout code van de meest recent uitgevoerde MySQL functie + (<function>mysql_error</function> en <function>mysql_errno</function> + uitgezonderd) ophalt, dus als je hem wil gebruiken, zorg dat je + de waarde controleert voordat je een andere MySQL functie aanroept. + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?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>"; +?> +]]> + </programlisting> + </informalexample> + </para> + <para> + Zie ook: <function>mysql_error</function> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-error"> + <refnamediv> + <refname>mysql_error</refname> + <refpurpose> + Geeft de tekst van het foutbericht van de vorige MySQL operatie + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_error</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft de fout tekst van de vorige MySQL functie, of + <literal>''</literal> (de lege string) als er geen error optrad. + </para> + <para> + Errors die terug komen van de MySQL database module geven geen + warnings meer. In plaats daarvan kun je <function>mysql_errer</function> + gebruiken om de fout tekst op te halen. Merk op dat deze functie alleen + de fout tekst van de meest recent uitgevoerde MySQL functie + (<function>mysql_error</function> en <function>mysql_errno</function> + uitgezonderd) ophaalt, dus als je hem wil gebruiken, zorg dat je + de waarde controleert voordat je een andere MySQL functie aanroept. + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?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>"; +?> +]]> + </programlisting> + </informalexample> + </para> + <para> + Zie ook: <function>mysql_errno</function> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-escape-string"> + <refnamediv> + <refname>mysql_escape_string</refname> + <refpurpose> + Escapet een string voor gebruik in een MySQL query + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_escape_string</methodname> + <methodparam><type>string</type><parameter>unescaped_string</parameter></methodparam> + </methodsynopsis> + <para> + Deze functie zal de <parameter>unescaped_string</parameter> escapen, + zodat het veilig is om hem in een <function>mysql_query</function> gebruiken. + </para> + <note> + <simpara> + <function>mysql_escape_string</function> escapet + <literal>%</literal> en <literal>_</literal> niet. + </simpara> + </note> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-array"> + <refnamediv> + <refname>mysql_fetch_array</refname> + <refpurpose> + Haal een resultaat rij op als een associatieve array, een numerieke array, of beiden + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_array</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter> + result_type + </parameter></methodparam> + </methodsynopsis> + <para> + Haalt een array op die correspondeert met de opgehaalde rij, of + &false; als er geen rijen meer zijn.</para> + <para> + <function>mysql_fetch_array</function> is een uitgebreide versie van + <function>mysql_fetch_row</function>. Als toevoeging op het opslaan + van de data in numerieke indices van de resultaat array, slaat hij de + data ook op in associatieve indices, waarbij de veldnamen gebruikt worden + als keys. + </para> + <para> + Als twee of meer kolommmen van het resultaat dezelfde veldnaam hebben + heeft de laatst kolom precedentie. Om toegang te krijgen tot andere + kolommen met dezelfde naam, moet je de numerieke index van de kolom + gebruiken of een alias maken voor de kolom. Voor gealiasde kolommen kun je + geen toegang krijgen tot de inhoud met de originele kolom naam + (door <literal>'field'</literal> te gebruiken in dit voorbeeld). + <informalexample> + <programlisting role="sql"> +<![CDATA[ +select tone.field as foo ttwo.field as bar from tone, ttwo +]]> + </programlisting> + </informalexample> + </para> + <para> + Belangrijk is het door te hebben dat + <function>mysql_fetch_array</function> is <emphasis>niet + significant</emphasis> langzamer dan het gebruik van + <function>mysql_fetch_row</function>, terwijl het een + duidelijke toegevoegde waarde heeft. + </para> + <para> + Het optionele tweede argument <parameter>result_type</parameter> + in <function>mysql_fetch_array</function> is een constante en kan + de volgende waarden aannemen: MYSQL_ASSOC, MYSQL_NUM, en + MYSQL_BOTH. Deze feature werd toegevoegd in PHP 3.0.7. MYSQL_BOTH + is de default voor deze parameter. + </para> + <para> + Door MYSQL_BOTH te gebruiken, zul je een array met zowel associatieve + als numerieke indices terug krijgen. Met MYSQL_ASSOC krijg je alleen + associatieve indices (zoals bij <function>mysql_fetch_assoc</function>), + en met MYSQL_NUM krijg je alleen numerieke indices (zoals + <function>mysql_fetch_row</function>). + </para> + <para> + Voor verdere details, zie ook + <function>mysql_fetch_row</function> en + <function>mysql_fetch_assoc</function>. + </para> + <example> + <title>MySQL fetch array voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect($host, $user, $password); +mysql_select_db("database"); +$result = mysql_query("select user_id, fullname from table"); +while ($row = mysql_fetch_array($result)) { + echo "user_id: ".$row["user_id"]."<br>\n"; + echo "user_id: ".$row[0]."<br>\n"; + echo "fullname: ".$row["fullname"]."<br>\n"; + echo "fullname: ".$row[1]."<br>\n"; +} +mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-assoc"> + <refnamediv> + <refname>mysql_fetch_assoc</refname> + <refpurpose> + Haal een resultaat rij op als een associatieve array + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_assoc</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + Haalt een associatieve array op die correspondeert met de gehaalde rij, + of &false; als er geen rijen meer zijn.</para> + <para> + <function>mysql_fetch_assoc</function> is equivalent met het aanroepen van + <function>mysql_fetch_array</function> met MYSQL_ASSOC voor de optionele + tweede paramter. Hij geeft alleen een associatieve array terug. + Dit is de manier waarop <function>mysql_fetch_array</function> oorspronkelijk + functioneerde. Als je zowel de numerieke als de associatieve indices nodig hebt, + gebruik dan <function>mysql_fetch_array</function>. + </para> + <para> + Als twee of meer kolommen van het resultaat dezelfde veldnaam hebben + zal de laatste kolom precedentie hebben. Om toegang te krijgen tot + de andere kolommen met dezelfde naam, moet je het resultaat verkrijgen + via numiereke indices door <function>mysql_fetch_row</function> te gebruiken + of alias namen toevoegen. Zie het voorbeeld bij de <function>mysql_fetch_array</function> + beschrijving over aliassen. + </para> + <para> + Belangrijk is het door te hebben dat + <function>mysql_fetch_array</function> is <emphasis>niet + significant</emphasis> langzamer dan het gebruik van + <function>mysql_fetch_row</function>, terwijl het een + duidelijke toegevoegde waarde heeft. + </para> + <para> + Voor verdere details, zie ook + <function>mysql_fetch_row</function> en + <function>mysql_fetch_array</function>. + </para> + <example> + <title>MySQL fetch assoc voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect($host, $user, $password); +mysql_select_db($database); +$query = "select * from table"; +$result = mysql_query($query); +while ($row = mysql_fetch_assoc($result)) { + echo $row["user_id"]; + echo $row["fullname"]; +} +mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-field"> + <refnamediv> + <refname>mysql_fetch_field</refname> + <refpurpose> + Haal kolom informatie uit een resultaat en geef die terug als object + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>object</type><methodname>mysql_fetch_field</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter> + field_offset + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een object terug met daarin veld informatie + </para> + <para> + <function>mysql_fetch_field</function> kan worden gebruikt om + informatie op te halen over velden in een bepaald query resultaat. Als + de index van het veld niet gegeven is, wordt het volgende veld dat nog niet + was opgehaald door <function>mysql_fetch_field</function> opgehaald. + </para> + <para> + De eigenschappen van het object zijn: + <itemizedlist> + <listitem> + <simpara> + name - kolomnaam + </simpara> + </listitem> + <listitem> + <simpara> + table - naam van de tabel waar het veld bij hoort + </simpara> + </listitem> + <listitem> + <simpara> + max_length - maximum lengte van de kolom + </simpara> + </listitem> + <listitem> + <simpara> + not_null - 1 als de kolom geen &null; kan zijn + </simpara> + </listitem> + <listitem> + <simpara> + primary_key - 1 als de kolom een primary key is + </simpara> + </listitem> + <listitem> + <simpara> + unique_key - 1 als de kolom een unique key is + </simpara> + </listitem> + <listitem> + <simpara> + multiple_key - 1 als de kolom een non-unique key is + </simpara> + </listitem> + <listitem> + <simpara> + numeric - 1 als de kolom numeriek is + </simpara> + </listitem> + <listitem> + <simpara> + blob - 1 als de kolom een BLOB is + </simpara> + </listitem> + <listitem> + <simpara> + type - het type van de kolom + </simpara> + </listitem> + <listitem> + <simpara> + unsigned - 1 als de kolom unsigned is + </simpara> + </listitem> + <listitem> + <simpara> + zerofill - 1 als de kolom zero-filled is + </simpara> + </listitem> + </itemizedlist> + </para> + <example> + <title><function>mysql_fetch_field</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect('localhost:3306', $user, $password) + or die ("Kan geen verbinding maken"); +mysql_select_db("database"); +$result = mysql_query("select * from table") + or die("Query heeft gefaald"); +# get column metadata +$i = 0; +while ($i < mysql_num_fields($result)) { + echo "Informatie voor kolom $i:<BR>\n"; + $meta = mysql_fetch_field($result); + if (!$meta) { + echo "Geen informatie beschikbaar<BR>\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($result); +?> +]]> + </programlisting> + </example> + <para> + Zie ook <function>mysql_field_seek</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-lengths"> + <refnamediv> + <refname>mysql_fetch_lengths</refname> + <refpurpose> + Haal de lengte op van elke output in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_lengths</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + Geeft een array terug die correspondeert met de lengten van elk veld + in de laatste rij opgehaald door <function>mysql_fetch_row</function>, + of &false; bij een fout. + </para> + <para> + <function>mysql_fetch_lengths</function> slaat de lengten van elke + resultaat kolom in de laatste rij die werd teruggegeven door + <function>mysql_fetch_row</function>, + <function>mysql_fetch_array</function>, en + <function>mysql_fetch_object</function> op in een array, beginnend + bij index 0. + </para> + <para> + Zie ook: <function>mysql_fetch_row</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-object"> + <refnamediv> + <refname>mysql_fetch_object</refname> + <refpurpose>Haal een resultaat rij op als een object</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>object</type><methodname>mysql_fetch_object</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter> + result_type + </parameter></methodparam> + </methodsynopsis> + <para> + Geeft een object terug met eigenschappen die corresponderen met + de gehaalde rij, of &false; als er geen rijen meer zijn. + </para> + <para> + <function>mysql_fetch_object</function> lijkt op + <function>mysql_fetch_array</function>, met een verschil - een object + wordt teruggegeven, in plaats van een array. Indirect betekent dat + dat je alleen toegang kan krijgen tot de gegevens door middel van + de veldnamen, en niet via hun numerieke indices (getallen zijn illegale + eigenschap namen). + </para> + <para> + <!-- Manuzhai: WTF *?* --> + Het optionele argument <parameter>result_type</parameter> is een + constante en kan de volgende waarden aannemen: MYSQL_ASSOC, + MYSQL_NUM, en MYSQL_BOTH. Zie + <function>mysql_fetch_array</function> voor een uitleg van deze + constanten. + </para> + <para> + Wat betreft snelheid is de functie identiek aan + <function>mysql_fetch_array</function>, en bijna even snel wals + <function>mysql_fetch_row</function> (het verschil is verwaarloosbaar). + <example> + <title>MySQL fetch object voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect("hostname", "user", "password"); +mysql_select_db($db); +$result = mysql_query("select * from table"); +while ($row = mysql_fetch_object($result)) { + echo $row->user_id; + echo $row->fullname; +} +mysql_free_result($result); +?> +]]> + </programlisting> + </example> + </para> + <para> + Zie ook: <function>mysql_fetch_array</function> en + <function>mysql_fetch_row</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-row"> + <refnamediv> + <refname>mysql_fetch_row</refname> + <refpurpose>Haal een resultaat rij op als een genummerde array</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>array</type><methodname>mysql_fetch_row</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + Geeft een array terug die correspondeert met de gehaald rij, of &false; + als er geen rijen meer zijn. + </para> + <para> + <function>mysql_fetch_row</function> haalt een rij met data op + van het resultaat dat geassocieerd wordt met de gegeven result identifier. + De rij wordt teruggegeven als een array. Elke kolom van het resultaat + is opgeslagen als een array element, beginnend onder key 0. + </para> + <para> + Volgende aanroepen naar <function>mysql_fetch_row</function> zullen + de volgende rij in de resultaat set teruggeven, of &false; als er + geen rijen meer zijn. + </para> + <para> + Zie ook: <function>mysql_fetch_array</function>, + <function>mysql_fetch_object</function>, + <function>mysql_data_seek</function>, + <function>mysql_fetch_lengths</function>, en + <function>mysql_result</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-flags"> + <refnamediv> + <refname>mysql_field_flags</refname> + <refpurpose> + Haal de flags op die geassocieerd worden met het gegeven veld in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_flags</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_flags</function> geeft de field flags terug + van het gegeven veld. De flags worden teruggegeven als een enkel woord + per vlag gescheiden door een enkele spatie, zodat je ze kan scheiden door + middel van <function>explode</function>. + </para> + <para>De volgende flags kunnen worden teruggegeven, als je versie + van MySQL actueel genoeg is om ze te ondersteunen: "not_null", "primary_key", + "unique_key", "multiple_key", "blob", "unsigned", "zerofill", + "binary", "enum", "auto_increment", "timestamp". + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldflags</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-name"> + <refnamediv> + <refname>mysql_field_name</refname> + <refpurpose> + Haal de naam op van het gegeven veld in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_name</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_index</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_name</function> geeft de naam van de gegeven veld + index terug. <parameter>result</parameter> moet een geldige + result identifier zijn en <parameter>field_index</parameter> is de + numerieke index van het veld. + </para> + <note> + <para> + <parameter>field_index</parameter> begint bij 0. + </para> + <para> + Bijvoorbeeld: de index van het derde veld is 2, de index + van het vierde veld 3 enzovoort. + </para> + </note> + <para> + <example> + <title>MySQL field name voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +// De users tabel bestaat uit drie velden: +// user_id +// username +// password. +$link = mysql_connect('localhost', $user, "secret"); +mysql_select_db($dbname, $link) + or die("Kan $dbname niet selecteren"); +$res = mysql_query("select * from users", $link); + +echo mysql_field_name($res, 0) . "\n"; +echo mysql_field_name($res, 2); +]]> + </programlisting> + <para> + Het bovenstaande voorbeeld zou de volgende output produceren: + <screen> +<![CDATA[ +user_id +password +]]> + </screen> + </para> + </example> + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldname</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-len"> + <refnamediv> + <refname>mysql_field_len</refname> + <refpurpose> + Geeft de lengte van het gegeven veld terug + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_field_len</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_len</function> geeft de lengte van het gegeven veld terug. + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldlen</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-seek"> + <refnamediv> + <refname>mysql_field_seek</refname> + <refpurpose> + Zet de resultaat pointer op een gegeven veld index + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_field_seek</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + Zoekt naar de gespecificeerde veld index. Als de volgende aanroep van + <function>mysql_fetch_field</function> geen veld index meegeeft, + zal de veld index gegeven in <function>mysql_field_seek</function> + worden teruggegeven. + </para> + <para> + Zie ook: <function>mysql_fetch_field</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-table"> + <refnamediv> + <refname>mysql_field_table</refname> + <refpurpose> + Geef de naam van de tabel waar het gegeven veld in zit + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_table</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + Geeft de naam van de tabel waar het gegeven veld bijhoort terug. + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldtable</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-type"> + <refnamediv> + <refname>mysql_field_type</refname> + <refpurpose> + Geef het type van het gegeven veld in een resultaat + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_field_type</methodname> + <methodparam><type>iresource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>field_offset</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_field_type</function> lijkt op de + <function>mysql_field_name</function> functie. De argumenten zijn + identiek, maar het veld type wordt teruggegeven. Het veldtype kan + bijvoorbeeld "int", "real", "string", "blob" zijn, of iets anders, + zoals uitgebreid wordt beschreven in de <ulink url="&url.mysql.docs;"> + MySQL documentatie</ulink>. + <example> + <title>MySQL field type voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + +mysql_connect("localhost:3306"); +mysql_select_db("wisconsin"); +$result = mysql_query("SELECT * FROM onek"); +$fields = mysql_num_fields($result); +$rows = mysql_num_rows($result); +$i = 0; +$table = mysql_field_table($result, $i); +echo "Je '".$table."' tabel heeft ".$fields." velden en ".$rows." records <BR>"; +echo "De tabel heeft de volgende velden: <BR>"; +while ($i < $fields) { + $type = mysql_field_type($result, $i); + $name = mysql_field_name($result, $i); + $len = mysql_field_len($result, $i); + $flags = mysql_field_flags($result, $i); + echo $type." ".$name." ".$len." ".$flags."<BR>"; + $i++; +} +mysql_close(); + +?> +]]> + </programlisting> + </example> + </para> + <para> + Voor compatibiliteit kan <function>mysql_fieldtype</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-free-result"> + <refnamediv> + <refname>mysql_free_result</refname> + <refpurpose>Maak geheugen van het resultaat vrij</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_free_result</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_free_result</function> zal al het geheugen vrij maken + dat is geassocieerd met de result identifier <parameter>result</parameter>. + </para> + <para> + <function>mysql_free_result</function> hoeft alleen te worden + aangeroepen als je je zorgen maakt over hoeveel geheugen + wordt gebruikt voor queries die grote resultaten teruggeven. Al + het geassocieerde geheugen wordt automatisch vrijgemaakt aan + het eind van de executie van het script. + </para> + <para> + &return.success; + </para> + <para> + Voor compatibiliteit kan <function>mysql_freeresult</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-insert-id"> + <refnamediv> + <refname>mysql_insert_id</refname> + <refpurpose> + Geef het id dat gegenereerd werd door de vorige INSERT query + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_insert_id</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_insert_id</function> geeft het ID terug voor een + AUTO_INCREMENT kolom door de vorige INSERT query door de gegeven + <parameter>link_identifier</parameter> te gebruiken. Als + <parameter>link_identifier</parameter> niet wordt gegeven, wordt de laatst + geopende link aangenomen. + </para> + <para> + <function>mysql_insert_id</function> geeft 0 terug als de vorige + query geen AUTO_INCREMENNT waarde heeft gegenereerd. Als je de waarde + wil bewaren voor later, zorg ervoor dat je <function>mysql_insert_id</function> + direct na de query die de waarde genereert aanroept. + </para> + <note> + <para> + De waarde van de MySQL functie <literal>LAST_INSERT_ID()</literal> + geeft altijd de laatst gegenereerde AUTO_INCREMENT waarde, + en wordt niet gereset tussen queries. + </para> + </note> + <warning> + <para> + <function>mysql_insert_id</function> converteert het return type + van de native MySQL C API functie <literal>mysql_insert_id()</literal> + naar het type <literal>long</literal> (<type>int</type> in PHP). + Als je AUTO_INCREMENT kolom het type BIGINT heeft, zal de waarde + doe wordt teruggegeven door <function>mysql_insert_id</function> + incorrect zijn. Gebruik in plaats daarvan de interne MySQL SQL functie + <literal>LAST_INSERT_ID()</literal> in een SQL query. + </para> + </warning> + </refsect1> + </refentry> + + <refentry id="function.mysql-list-dbs"> + <refnamediv> + <refname>mysql_list_dbs</refname> + <refpurpose> + Geef een lijst van beschikbare databases op een MySQL server + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_list_dbs</methodname> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_list_dbs</function> zal een result pointer + teruggeven met daarin de databases die beschikbaar zijn op de + huidige mysql daemon. Gebruik de <function>mysql_tablename</function> + functie om deze result pointer te doorlopen, of een andere functie + voor resultaat-tabellen. + </para> + <para> + <example> + <title>MySQL list dbs voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +$link = mysql_connect('localhost', 'myname', 'secret'); +$db_list = mysql_list_dbs($link); + +while ($row = mysql_fetch_object($db_list)) { + echo $row->Database . "\n"; +} +?> +]]> + </programlisting> + <para> + Het bovenstaande voorbeeld zal de volgende output produceren: + <screen> +<![CDATA[ +database1 +database2 +database3 +... +]]> + </screen> + </para> + </example> + </para> + <note> + <para> + De bovenstaande code zal even goed werken met <function>mysql_fetch_row</function> + of andere vergelijkbare functies. + </para> + </note> + <para> + Voor compatibiliteit kan <function>mysql_listdbs</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + <para> + Zie ook: <function>mysql_db_name</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-list-fields"> + <refnamediv> + <refname>mysql_list_fields</refname> + <refpurpose>Geef een lijst van MySQL resultaat velden</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_list_fields</methodname> + <methodparam><type>string</type><parameter>database_name</parameter></methodparam> + <methodparam><type>string</type><parameter>table_name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_list_fields</function> haalt informatie op over + de gegeven tabelnaam. Argumenten zijn de database naam en de tabel + naam. Een result pointer wordt teruggegeven die gebruikt kan + worden met <function>mysql_field_flags</function>, + <function>mysql_field_len</function>, + <function>mysql_field_name</function>, en + <function>mysql_field_type</function>. + </para> + <para> + <example> + <title>MySQL list fields voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +$link = mysql_connect('localhost', 'myname', 'secret'); + +$fields = mysql_list_fields("database1", "table1", $link); +$columns = mysql_num_fields($fields); + +for ($i = 0; $i < $columns; $i++) { + echo mysql_field_name($fields, $i) . "\n";; +} +]]> + </programlisting> + <para> + Het bovenstaande voorbeeld zal de volgende output produceren: + <screen> +<![CDATA[ +field1 +field2 +field3 +... +]]> + </screen> + </para> + </example> + </para> + <para> + Voor compatibiliteit kan <function>mysql_listfields</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + <!-- TODO: this is equiv. with 'select * from $table where &false;,' + which implies you can better use the field-research functions + on a real query, that saves you one mysql-query. + --> + </refsect1> + </refentry> + + <refentry id="function.mysql-list-tables"> + <refnamediv> + <refname>mysql_list_tables</refname> + <refpurpose>Geef een lijst van tabellen in een MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_list_tables</methodname> + <methodparam><type>string</type><parameter>database</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_list_tables</function> neemt een database naam en geeft + een result pointer terug, zoals de <function>mysql_query</function> functie. + Je kunt de <function>mysql_tablename</function> functie gebruiken om de + eigenlijke tabelnamen uit de result pointer te halen, of een andere + result tabel functie. to extract the + </para> + <para> + Voor compatibiliteit kan <function>mysql_listtables</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-num-fields"> + <refnamediv> + <refname>mysql_num_fields</refname> + <refpurpose>Geef het aantal velden in een resultaat</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_num_fields</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_num_fields</function> geeft het aantal velden + in een resultaat set. + </para> + <para> + Zie ook: + <function>mysql_db_query</function>, + <function>mysql_query</function>, + <function>mysql_fetch_field</function>, + <function>mysql_num_rows</function>.</para> + <para> + Voor compatibiliteit kan <function>mysql_numfields</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-num-rows"> + <refnamediv> + <refname>mysql_num_rows</refname> + <refpurpose>Geef het aantal rijen in een resultaat</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_num_rows</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_num_rows</function> geeft het aantal rijen + in een resultaat set terug. Dit commando is alleen geldig + voor SELECT queries. Om het aantal rijen op te halen dat werd + betrokken bij een INSERT, UPDATE of DELETE query, gebruik + <function>mysql_affected_rows</function>. + <example> + <title>MySQL num rows voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php + +$link = mysql_connect("localhost", "username", "password"); +mysql_select_db("database", $link); + +$result = mysql_query("SELECT * FROM table1", $link); +$num_rows = mysql_num_rows($result); + +echo "$num_rows Rows\n"; + +?> +]]> + </programlisting> + </example> + </para> + <para> + Zie ook: + <function>mysql_affected_rows</function>, + <function>mysql_connect</function>, + <function>mysql_select_db</function>, + <function>mysql_query</function>. + </para> + <para> + Voor compatibiliteit kan <function>mysql_numrows</function> + ook gebruikt worden. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-pconnect"> + <refnamediv> + <refname>mysql_pconnect</refname> + <refpurpose> + Open een persistente verbinding naar een MySQL server + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_pconnect</methodname> + <methodparam choice="opt"><type>string</type><parameter> + server + </parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>username</parameter></methodparam> + <methodparam choice="opt"><type>string</type><parameter>password</parameter></methodparam> + </methodsynopsis> + <para> + Geeft een positieve MySQL persistente link indentifier bij succes, + of &false; bij een fout. + </para> + <para> + <function>mysql_pconnect</function> maakt een verbinding met + een MySQL server. De volgende defaults worden aangenomen voor + missende optionele parameters: <parameter>server</parameter> = + 'localhost:3306', <parameter>username</parameter> = naam van de + gebruiker die het server process ownt en <parameter>password</parameter> + = leeg password. + </para> + <para> + De <parameter>server</parameter> parameter kan ook een port nummer + meekrijgen, bijvoorbeeld "hostname:port", of een pad naar + een socket, bijvoorbeeld ":/path/to/socket" voor de localhost. + <note> + <para> + Ondersteuning voor ":port" werd toegevoegd in 3.0B4. + </para> + <para> + Ondersteuning voor ":/path/to/socket" werd toegevoegd in + 3.0.10. + </para> + </note> + </para> + + <para> + <function>mysql_pconnect</function> doet bijna hetzelfde als + <function>mysql_connect</function>, met twee grote verschillen. + </para> + <para> + Ten eerste, wanneer je verbinding maakt, zal de functie eerst + proberen een (persistente) link te openen die al open staat + met dezelfde host, username en password. Als er een gevonden wordt + zal een identifier ervoor worden teruggegeven, in plaats van een + nieuwe verbinding te openen. + </para> + <para> + Ten tweede, de verbinding met de SQL server zal niet worden gesloten + wanneer de executie van het script klaar is. In plaats daarvan zal + de link open blijven voor toekomstig gebruik (<function>mysql_close</function> + zal geen links sluiten die werden gemaakt door + <function>mysql_pconnect</function>). + </para> + <para> + Dit type link wordt daarom 'persistent' genoemd. + </para> + <note> + <para> + Let er op dat dit soort links alleen werken als je een module + versie van PHP gebruikt. Zie de + <link linkend="features.persistent-connections">Persistente + Database connecties</link> sectie voor meer informatie. + </para> + </note> + <warning> + <para> + Het gebruiken van persistente verbindingen kan een beetje instelling van + PHP en MySQL configuraties vereisen om er zeker van te zijn dat je het maximum + aantal toegestane verbindingen door MySQL niet overschrijdt. + </para> + </warning> + </refsect1> + </refentry> + + <refentry id="function.mysql-query"> + <refnamediv> + <refname>mysql_query</refname> + <refpurpose>Verstuur een MySQL query</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_query</methodname> + <methodparam><type>string</type><parameter>query</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_query</function> stuurt een query naar de + huidige actieve database op de server die wordt + geassocieerd met de gegeven link identifier. Als + <parameter>link_identifier</parameter> niet wordt gegeven, wordt de + laatst geopende link aangenomen. Als er geen link open is, + probeert de functie een link te maken alsof + <function>mysql_connect</function> wordt aangeroepen zonder + argumenten, en die te gebruiken. + </para> + <note> + <para> + De query string moet niet eindigen met een puntkomma. + </para> + </note> + <para> + Alleen voor SELECT, SHOW, EXPLAIN en DESCRIBE queries + geeft <function>mysql_query</function> een resource + identifier terug of &false; als de query niet correct + werd uitgevoerd. Voor andere soorten SQL queries geeft + <function>mysql_query</function> &true terug bij succes + en &false; bij een fout. Een niet-&false; waarde geeft aan + dat de query legaal was en kon worden uitgevoerd door de + server. Hij geeft echter niets aan over het aantal rijen + betrokken of teruggegeven. Het is zeer goed mogelijk dat een + query goed wordt uitgevoerd maar geen rijen wijzigt of teruggeeft. + </para> + <para> + De volgende query is syntactisch ongeldig, dus + <function>mysql_query</function> faaalt en geeft &false; terug: + <example> + <title>MySQL query voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<php +$result = mysql_query("SELECT * WHERE 1=1") + or die("Ongeldige query"); +?> +]]> + </programlisting> + </example> + </para> + <para> + De volgende query is semantisch ongeldig als + <literal>my_col</literal> geen kolom is in de tabel + <literal>my_tbl</literal>, dus <function>mysql_query</function> + faalt en geeft &false; terug: + <example> + <title>MySQL query voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +$result = mysql_query("SELECT my_col FROM my_tbl") + or exit ("Ongeldige query"); +?> +]]> + </programlisting> + </example> + </para> + <para> + <function>mysql_query</function> zal ook falen en &false; teruggeven + als je geen permissie hebt om toegang te krijgen tot de tabellen + die in de query genoemd worden. + </para> + <para> + Aangenomen dat de query goed gaat, kun je + <function>mysql_num_rows</function> aanroepen om uit te vinden + hoeveel rijen er werden teruggegeven voor een SELECT + statement, of <function>mysql_affected_rows</function> om + uit te vinden hoeveel rijen betrokken waren bij een + DELETE, INSERT, REPLACE, of UPDATE query. + </para> + <para> + Alleen bij SELECT, SHOW, DESCRIBE en EXPLAIN queries geeft + <function>mysql_query</function> een nieuwe result identifier + terug die je door kunt geven aan <function>mysql_fetch_array</function> + en andere functies die met resultaat tabellen van doen hebben. Wanneer + je klaar bent met de resultaat set, kun je de bronnen die + ermee geassocieerd zijn vrij maken door + <function>mysql_free_result</function> aan te roepen. Het geheugen + zal echter automatisch worden vrijgemaakt aan het eind van + de uitvoering van het script. + </para> + <para> + Zie ook: <function>mysql_num_rows</function>, + <function>mysql_affected_rows</function>, + <function>mysql_unbuffered_query</function>, + <function>mysql_free_result</function>, + <function>mysql_fetch_array</function>, + <function>mysql_fetch_row</function>, + <function>mysql_fetch_assoc</function>, + <function>mysql_result</function>, + <function>mysql_select_db</function>, + <function>mysql_connect</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-unbuffered-query"> + <refnamediv> + <refname>mysql_unbuffered_query</refname> + <refpurpose> + Stuur een SQL query naar MySQL zonder resultaten op te halen en te bufferen + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>resource</type><methodname>mysql_unbuffered_query</methodname> + <methodparam><type>string</type><parameter>query</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_unbuffered_query</function> stuurt een SQL + <parameter>query</parameter> naar MySQL, zonder de resultaat rijen + automatisch op te halen en te bufferen, zoals bij + <function>mysql_query</function>. Aan de ene kant spaart + dit een behoorlijke hoeveelheid geheugen met SQL queries + die grote resultaat sets opleveren. Aan de andere kant kun je + beginnen met werken met de resultaten set onmiddellijk nadat + de eerste rij is opgehaald: je hoeft niet te wachten tot de + volledige SQL query is uitgevoerd. Wanneer je meerdere verbindingen + gebruikt, moet je de optionele parameter + <parameter>link_identifier</parameter> geven. + </para> + <note> + <para> + De voordelen van <function>mysql_unbuffered_query</function> hebben + een nadeel: je kan <function>mysql_num_rows</function> niet gebruiken met + een resultaat set die werd teruggegeven door + <function>mysql_unbuffered_query</function>. Bovendien moet je alle resultaat + rijen van een ongebufferde SQL query ophalen alvorens je een nieuwe + SQL query naar MySQL kunt sturen. + </para> + </note> + <para> + Zie ook: <function>mysql_query</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-result"> + <refnamediv> + <refname>mysql_result</refname> + <refpurpose>Geef de resultaat data</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>mixed</type><methodname>mysql_result</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>row</parameter></methodparam> + <methodparam choice="opt"><type>mixed</type><parameter> + field + </parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_result</function> geeft de inohud terug van een + cel van een MySQL resultaat set. Het veld argument kan de index + van het veld zijn, of de naam van het veld, of de tabelnaam van het veld + punt de veldnaam (tabelnaam.veldnaam). Als de kolom naam + is ge-aliased ('select foo as bar from...') gebruik dan het alias + in plaats van de kolom naam. + </para> + <para> + Als je werkt met grote resultaat sets, zou je het gebruik van een + van de functies die een hele rij (hieronder gegeven) ophalen moeten + overwegen. Omdat deze functies de inhoud van meerdere cellen in een + functie aanroep ophalen, zijn ze VEEL sneller dan + <function>mysql_result</function>. Let er bovendien op dat + het geven van een numerieke index voor het veld argument veel + sneller is dan het geven van een veldnaam of een tabelnaam.veldnaam + argument. + </para> + <para> + Aanroepen naar <function>mysql_result</function> mogen niet worden + gemengd met aanroepen naar andere functies die met de resultaat + set van doen hebben. + </para> + <para> + Aan te raden hoge-performance alternatieven: + <function>mysql_fetch_row</function>, + <function>mysql_fetch_array</function>, + <function>mysql_fetch_object</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-select-db"> + <refnamediv> + <refname>mysql_select_db</refname> + <refpurpose>Selecteer een MySQL database</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>bool</type><methodname>mysql_select_db</methodname> + <methodparam><type>string</type><parameter>database_name</parameter></methodparam> + <methodparam choice="opt"><type>resource</type><parameter> + link_identifier + </parameter></methodparam> + </methodsynopsis> + <para> + &return.success; + </para> + <para> + <function>mysql_select_db</function> stelt de huidige actieve + database in op de server die wordt geassocieerd met de gegeven + link identifier. Als er geen link identifier wordt gegeven, wordt + de laatst geopende link aangenomen. Als er geen link open is, zal + de functie proberen om een link te maken alsof + <function>mysql_connect</function> werd aangeroepen zonder argumenten, + en die te gebruiken. + </para> + <para> + Elke volgende aanroep van <function>mysql_query</function> zal worden + gedaan op de actieve database. + </para> + <para> Zie ook: + <function>mysql_connect</function>, + <function>mysql_pconnect</function>, + <function>mysql_query</function>. + </para> + <para> + Voor compatibiliteit kan <function>mysql_selectdb</function> + ook worden gebruikt. Dit wordt echter afgekeurd. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-tablename"> + <refnamediv> + <refname>mysql_tablename</refname> + <refpurpose>Geef de tabelnaam van een veld</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_tablename</methodname> + <methodparam><type>resource</type><parameter>result</parameter></methodparam> + <methodparam><type>int</type><parameter>i</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_tablename</function> neemt een result pointer + gegeven door de <function>mysql_list_tables</function> functie + en een integer index aan en geeft de naam van de tabel terug. De + <function>mysql_num_rows</function> functie kan worden gebruikt + om het aantal tabellen in de result pointer te vinden. + <example> + <title>MySQL tablename voorbeeld</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect("host"); +$result = mysql_list_tables("wisconsin"); +for ($i = 0; $i < mysql_num_rows($result); $i++) { + $tb_names[$i] = mysql_tablename($result, $i); + echo $tb_names[$i] . "<BR>"; +} +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-client-info"> + <refnamediv> + <refname>mysql_get_client_info</refname> + <refpurpose>Geef MySQL client info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_get_client_info</methodname> + <void/> + </methodsynopsis> + <para> + <function>mysql_get_client_info</function> geeft een string die + de library version van de client weergeeft. + </para> + <para> + <function>mysql_get_client_info</function> werd toegevoegd PHP 4.0.5. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-host-info"> + <refnamediv> + <refname>mysql_get_host_info</refname> + <refpurpose>Geef MySQL host info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>string</type><methodname>mysql_get_host_info</methodname> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_get_host_info</function> geeft een string + terug die een beschrijving is van het type verbinding in gebruik + voor de <parameter>link_identifier</parameter> verbinding, inclusief + de server host naam. Als <parameter>link_identifier</parameter> niet + wordt gegeven, wordt de laatst geopende verbinding gebruikt. + </para> + <para> + <function>mysql_get_host_info</function> werd toegevoegd in PHP 4.0.5. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-proto-info"> + <refnamediv> + <refname>mysql_get_proto_info</refname> + <refpurpose>Geef MySQL protocol info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_get_proto_info</methodname> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_get_proto_info</function> geeft de protocol + versie die gebruikt wordt door de verbinding + <parameter>link_identifier</parameter>. Als + <parameter>link_identifier</parameter> wordt weggelaten, wordt + de laatst geopende verbinding gebruikt. + </para> + <para> + <function>mysql_get_proto_info</function> werd toegevoegd in PHP 4.0.5. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-server-info"> + <refnamediv> + <refname>mysql_get_server_info</refname> + <refpurpose>Geef MySQL server info</refpurpose> + </refnamediv> + <refsect1> + <title>Beschrijving</title> + <methodsynopsis> + <type>int</type><methodname>mysql_get_server_info</methodname> + <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam> + </methodsynopsis> + <para> + <function>mysql_get_server_info</function> geeft de server versie + die gebruikt wordt door verbinding + <parameter>link_identifier</parameter>. Als + <parameter>link_identifier</parameter> wordt weggelaten, wordt + de laatst geopende verbinding gebruikt. + </para> + <para> + <function>mysql_get_proto_info</function> werd toegevoegd in PHP 4.0.5. + </para> + </refsect1> + </refentry> + </reference> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> +