cvs: phpdoc /en/reference/maxdb/functions maxdb-stmt-bind-param.xml

From: Date: Wed, 26 Oct 2005 15:27:30 +0000
Subject: cvs: phpdoc /en/reference/maxdb/functions maxdb-stmt-bind-param.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969370676@lists.php.net to get a copy of this message
simenec Wed Oct 26 11:27:30 2005 EDT Modified files: /phpdoc/en/reference/maxdb/functions maxdb-stmt-bind-param.xml Log: update documentation http://cvs.php.net/diff.php/phpdoc/en/reference/maxdb/functions/maxdb-stmt-bind-param.xml?r1=1.4&r2=1.5&ty=u Index: phpdoc/en/reference/maxdb/functions/maxdb-stmt-bind-param.xml diff -u phpdoc/en/reference/maxdb/functions/maxdb-stmt-bind-param.xml:1.4 phpdoc/en/reference/maxdb/functions/maxdb-stmt-bind-param.xml:1.5 --- phpdoc/en/reference/maxdb/functions/maxdb-stmt-bind-param.xml:1.4 Wed May 4 05:39:11 2005 +++ phpdoc/en/reference/maxdb/functions/maxdb-stmt-bind-param.xml Wed Oct 26 11:27:30 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <refentry id="function.maxdb-stmt-bind-param"> <refnamediv> <refname>maxdb_stmt_bind_param</refname> @@ -22,11 +22,28 @@ <methodsynopsis> <type>bool</type> <methodname>bind_param</methodname> - <methodparam><type>array</type><parameter>types</parameter></methodparam> + <methodparam><type>string</type><parameter>types</parameter></methodparam> <methodparam><type>mixed</type><parameter role="reference">var1</parameter></methodparam> <methodparam choice="opt"><type>mixed</type><parameter role="reference">...</parameter></methodparam> </methodsynopsis> </classsynopsis> + <para>Procedural style (extended syntax):</para> + <methodsynopsis> + <type>bool</type><methodname>maxdb_stmt_bind_param</methodname> + <methodparam><type>resource</type><parameter>stmt</parameter></methodparam> + <methodparam><type>string</type><parameter>types</parameter></methodparam> + <methodparam><type>array</type><parameter role="reference">var</parameter></methodparam> + </methodsynopsis> + <para>Object oriented style (method) (extended syntax):</para> + <classsynopsis> + <ooclass><classname>stmt</classname></ooclass> + <methodsynopsis> + <type>bool</type> + <methodname>bind_param</methodname> + <methodparam><type>string</type><parameter>types</parameter></methodparam> + <methodparam><type>array</type><parameter role="reference">var</parameter></methodparam> + </methodsynopsis> + </classsynopsis> <para> <function>maxdb_stmt_bind_param</function> is used to bind variables for the parameter markers in the SQL statement that was passed to @@ -35,6 +52,12 @@ the types for the corresponding bind variables. </para> <para> + The extended syntax of <function>maxdb_stmt_bind_param</function> allows to give the parameters + as an array instead of a variable list of PHP variables to the function. If the array variable has not been + used before calling <function>maxdb_stmt_bind_param</function>, it has to be initialized as an emtpy + array. See the examples how to use <function>maxdb_stmt_bind_param</function> with extended syntax. + </para> + <para> Variables for SELECT INTO SQL statements can also be bound using <function>maxdb_stmt_bind_param</function>. Parameters for database procedures can be bound using <function>maxdb_stmt_bind_param</function>. See the examples how to use <function>maxdb_stmt_bind_param</function> in this cases. @@ -277,6 +300,79 @@ a ]]> </screen> + <example> + <title>Object oriented style (extended syntax)</title> + <programlisting role="php"> +<![CDATA[ +<?php +$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB'); + +/* check connection */ +if (maxdb_connect_errno()) { + printf("Connect failed: %s\n", maxdb_connect_error()); + exit(); +} + +$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city"); +$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city"); + +$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)"); + +$arr = array(); + +$stmt->bind_param('iss', $arr); + +$arr[0] = 11111; +$arr[1] = 'Georgetown'; +$arr[2] = 'NY'; + +/* execute prepared statement */ +$stmt->execute(); + +printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt)); + +$arr[0] = 22222; +$arr[1] = 'New Orleans'; +$arr[2] = 'LA'; + +/* execute prepared statement */ +$stmt->execute(); + +printf("%d Row inserted.\n", $stmt->affected_rows); + +/* close statement and connection */ +$stmt->close(); + +$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'"); +if ($result) { + while ($row = $result->fetch_row()) { + printf ("%s %s %s\n", $row[0], $row[1], $row[2]); + } +} + +/* Clean up table CountryLanguage */ +$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'"); +$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'"); +printf("%d Rows deleted.\n", $maxdb->affected_rows); + +/* close connection */ +$maxdb->close(); +?> +]]> + </programlisting> + </example> + <para> + The above examples would produce the following output: + </para> + <screen> +<![CDATA[ +1 Row inserted. +1 Row inserted. +11111 Georgetown NY +22222 New Orleans LA +2 Rows deleted. +]]> + </screen> </refsect1> </refentry>

« previous php.doc (#969370676) next »