<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.3 $ --> <refentry id="function.mysqli-stmt-execute"> <refnamediv> <refname>mysqli_stmt_execute</refname> <refname>stmt->execute</refname> <refpurpose>Executes a prepared Query</refpurpose> </refnamediv> <refsect1> <title>Description</title> <para>Procedural style:</para> <methodsynopsis> <type>bool</type><methodname>mysqli_stmt_execute</methodname> <methodparam><type>object</type><parameter>stmt</parameter></methodparam> </methodsynopsis> <para>Object oriented style (method):</para> <classsynopsis> <ooclass><classname>stmt</classname></ooclass> <methodsynopsis> <type>bool</type> <methodname>execute</methodname> <void /> </methodsynopsis> </classsynopsis> <para> The <function>mysqli_stmt_execute</function> function executes a query that has been previously prepared using the <function>mysqli_prepare</function> function represented by the <parameter>stmt</parameter> object. When executed any parameter markers which exist will automatically be replaced with the appropiate data. </para> <para> If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the <function>mysqli_stmt_affected_rows</function> function. Likewise, if the query yields a result set the <function>mysqli_fetch</function> function is used. </para> <note> <para> When using <function>mysqli_stmt_execute</function>, the <function>mysqli_fetch</function> function must be used to fetch the data prior to preforming any additional queries. </para> </note> </refsect1> <refsect1> <title>Return values</title> <para>&return.success;</para> </refsect1> <refsect1> <title>See also</title> <para> <function>mysqli_prepare</function> <function>mysqli_stmt_bind_param</function>. </para> </refsect1> <refsect1> <title>Example</title> <example> <title>Object oriented style</title> <programlisting role="php"> <![CDATA[ <?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $mysqli->query("CREATE TABLE myCity LIKE City"); /* Prepare an insert statement */ $query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param("sss", $val1, $val2, $val3); $val1 = 'Stuttgart'; $val2 = 'DEU'; $val3 = 'Baden-Wuerttemberg'; /* Execute the statement */ $stmt->execute(); $val1 = 'Bordeaux'; $val2 = 'FRA'; $val3 = 'Aquitaine'; /* Execute the statement */ $stmt->execute(); /* close statement */ $stmt->close(); /* retrieve all rows from myCity */ $query = "SELECT Name, CountryCode, District FROM myCity"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_row()) { printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]); } /* free result set */ $result->close(); } /* remove table */ $mysqli->query("DROP TABLE myCity"); /* close connection */ $mysqli->close(); ?> ]]> </programlisting> </example> <example> <title>Procedural style</title> <programlisting role="php"> <![CDATA[ <?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } mysqli_query($link, "CREATE TABLE myCity LIKE City"); /* Prepare an insert statement */ $query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)"; $stmt = mysqli_prepare($link, $query); mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3); $val1 = 'Stuttgart'; $val2 = 'DEU'; $val3 = 'Baden-Wuerttemberg'; /* Execute the statement */ mysqli_stmt_execute($stmt); $val1 = 'Bordeaux'; $val2 = 'FRA'; $val3 = 'Aquitaine'; /* Execute the statement */ mysqli_stmt_execute($stmt); /* close statement */ mysqli_stmt_close($stmt); /* retrieve all rows from myCity */ $query = "SELECT Name, CountryCode, District FROM myCity"; if ($result = mysqli_query($link, $query)) { while ($row = mysqli_fetch_row($result)) { printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]); } /* free result set */ mysqli_free_result($result); } /* remove table */ mysqli_query($link, "DROP TABLE myCity"); /* close connection */ mysqli_close($link); ?> ]]> </programlisting> </example> <para> The above examples would produce the following output: </para> <screen> <![CDATA[ Stuttgart (DEU,Baden-Wuerttemberg) Bordeaux (FRA,Aquitaine) ]]> </screen> </refsect1> </refentry> <!-- 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 -->