georg           Fri Aug 22 08:13:16 2003 EDT

  Modified files:              
    /phpdoc/en/reference/mysqli/functions       mysqli-autocommit.xml 
                                                mysqli-bind-param.xml 
  Log:
  fixed prototypes, added samples
  
  
Index: phpdoc/en/reference/mysqli/functions/mysqli-autocommit.xml
diff -u phpdoc/en/reference/mysqli/functions/mysqli-autocommit.xml:1.7 
phpdoc/en/reference/mysqli/functions/mysqli-autocommit.xml:1.8
--- phpdoc/en/reference/mysqli/functions/mysqli-autocommit.xml:1.7      Sun May 25 
15:27:11 2003
+++ phpdoc/en/reference/mysqli/functions/mysqli-autocommit.xml  Fri Aug 22 08:13:16 
2003
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.7 $ -->
+<!-- $Revision: 1.8 $ -->
   <refentry id="function.mysqli-autocommit">
    <refnamediv>
     <refname>mysqli_autocommit</refname>
@@ -9,7 +9,7 @@
     <title>Description</title>
      <methodsynopsis>
       <type>bool</type><methodname>mysqli_autocommit</methodname>
-      <methodparam><type>resource</type><parameter>link</parameter></methodparam>
+      <methodparam><type>object</type><parameter>link</parameter></methodparam>
       <methodparam><type>bool</type><parameter>mode</parameter></methodparam>
      </methodsynopsis>
     <para>
@@ -20,24 +20,78 @@
     <para>
      &return.success;
     </para>
+    <note>
+     <para>
+      <function>mysqli_autocommit</function> doesn't work with non transactional
+      table types (like MyISAM or ISAM).
+     </para>
+     <para>
+      To determine the current state of autocommit use the SQL command
+      'SELECT @@autocommit'.
+     </para>
+    </note>
     <para>
      <example>
       <title>Using the mysqli_autocommit function</title>
+      <para>Procedural style:</para>
       <programlisting role="php">
 <![CDATA[
 <?php
 
     /* Open a connection */
-    $link = mysqli_connect("localhost", "user", "pass");
-    mysqli_select_db("mydb");
+    $link = mysqli_connect("localhost", "user", "pass", "mydb");
     
     /* Turn on autocommit */
     mysqli_autocommit($link, true);
 
+    /* determine current autocommit status */
+    if ($result = mysqli_query($link, "SELECT @@autocommit")) {
+        $row = mysqli_fetch_row($result);
+        mysqli_free_result($result);
+        printf ("Autocommit is %d\n", $row[0]);
+    }
+
+    /* close connection */
+    mysqli_close($link);
 ?>
 ]]>
       </programlisting>
+      <para>Object oriented style:</para>
+      <programlisting role="php">
+<![CDATA[
+<?php
+
+    /* Open a connection */
+    $mysql = mysqli_connect("localhost", "user", "pass", "mydb");
+    
+    /* Turn on autocommit */
+    $mysql->autocommit(true);
+
+    /* determine current autocommit status */
+    if ($result = $mysql->query($link, "SELECT @@autocommit")) {
+        $row = $result->fetch_row($result);
+        printf ("Autocommit is %d\n", $row[0]);
+        $result->free();
+    }
+
+    /* close connection */
+    $mysql->close();
+?>
+]]>
+      </programlisting>
+      <para>
+       The above examples would produce the following output:
+       <screen>
+<![CDATA[
+Autocommit is 1
+]]>
+       </screen>
+      </para>
      </example>
+    </para>
+    <para>
+     See also <function>mysqli_commit</function>,
+     <function>mysqli_rollback</function>.
     </para>
    </refsect1>
   </refentry>
Index: phpdoc/en/reference/mysqli/functions/mysqli-bind-param.xml
diff -u phpdoc/en/reference/mysqli/functions/mysqli-bind-param.xml:1.1 
phpdoc/en/reference/mysqli/functions/mysqli-bind-param.xml:1.2
--- phpdoc/en/reference/mysqli/functions/mysqli-bind-param.xml:1.1      Sun May 25 
16:48:07 2003
+++ phpdoc/en/reference/mysqli/functions/mysqli-bind-param.xml  Fri Aug 22 08:13:16 
2003
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
   <refentry id="function.mysqli-bind-param">
    <refnamediv>
     <refname>mysqli_bind_param</refname>
@@ -9,18 +9,100 @@
     <title>Description</title>
      <methodsynopsis>
       <type>bool</type><methodname>mysqli_bind_param</methodname>
-      <methodparam><type>resource</type><parameter>stmt</parameter></methodparam>
-      <methodparam><type>mixed</type><parameter>variable</parameter></methodparam>
-      <methodparam><type>int</type><parameter>type</parameter></methodparam>
+      <methodparam><type>object</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>array</type><parameter>types</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>var1</parameter></methodparam>
+      <methodparam choice="opt"><type>mixed</type><parameter>var2, 
...</parameter></methodparam>
      </methodsynopsis>
-
-    &warn.undocumented.func;
-
+    <para>
+     <function>mysql_bind_param</function> is used to bind variables for the
+     parameter markers in the SQL statement that was passed to
+     <function>mysql_prepare</function>. 
+     The array <parameter>types</parameter> specifies the types for the
+     diffrent bind variables. Valid array values are MYSQLI_BIND_INT, 
MYSQLI_BIND_DOUBLE,
+     MYSQLI_BIND_STRING and MYSQLI_SEND_DATA.
+    </para>
     <note>
-     <para>
-      You can pass additional variable/type pairs to this function.
+      <para>
+       If data size of a variable exceeds max. allowed package size
+       (max_allowed_package), you have to specify MYSQLI_SEND_DATA and use
+       <function>mysqli_send_long_data</function> to send the data in packages.
+      </para>
+      <para>
+       The number of variables and array values must match the number of
+       parameters in the statement.
      </para>
     </note>
+      <example>
+       <title>Prepared statements</title>
+       <para>Procedural style:</para>
+       <programlisting role="php">
+<![CDATA[
+<?php
+    /* connect to database */
+    $link = mysqli_connect("localhost", "mysql_user", "mysql_password", "mydb") or
+        die("Could not connect: " . mysqli_connect_error());
+
+    /* create mytable */
+    mysqli_query($link, "CREATE TABLE mytable (a int, b int, c varchar(30))");
+    
+    /* prepare statement and bind variables for insert statements */
+    $stmt = mysqli_prepare($link, "INSERT INTO mytable VALUES (?, ?, ?)");
+    mysqli_bind_param($stmt, array(MYSQLI_BIND_INT, MYSQLI_BIND_INT,
+                      MYSQLI_BIND_STRING), $a, $b, $c);
+
+    $a = 1;
+    $b = 2;
+    $c = "I prefer OpenSource software";
+
+    /* execute prepared statement */
+    mysqli_execute($stmt);
+
+    /* close statement and connection */
+    mysqli_close_stmt(stmt);
+    mysqli_close(link);
+
+?>
+]]>
+       </programlisting>
+       <para>Object oriented style:</para>
+       <programlisting role="php">
+<![CDATA[
+<?php
+    /* connect to database */
+    $mysql = mysqli_connect("localhost", "mysql_user", "mysql_password", "mydb") or
+        die("Could not connect: " . mysqli_connect_error());
+
+    /* create mytable */
+    $mysql->query("CREATE TABLE mytable (a int, b int, c varchar(30))");
+    
+    /* prepare statement and bind parameters */
+    $stmt = mysql->prepare("INSERT INTO mytable VALUES (?, ?, ?)");
+    $stmt->bind_param(array(MYSQLI_BIND_INT, MYSQLI_BIND_INT,
+                      MYSQLI_BIND_STRING), $a, $b, $c);
+
+    $a = 1;
+    $b = 2;
+    $c = "I prefer opensource software";
+
+    /* execute prepared statement */
+    $stmt->execute();
+
+    /* close statement and connection */
+    $stmt->close();
+    $mysql->close();
+?>
+]]>
+     </programlisting>
+    </example>
+    <para>
+     See also: <function>mysqli_bind_result</function>,
+     <function>mysqli_execute</function>,
+     <function>mysqli_fetch</function>
+<!-- <function>mysqli_fetch_column</function> -->
+     <function>mysqli_prepare</function>
+     <function>mysqli_send_long_data</function>
+    </para>
    </refsect1>
   </refentry>
 


Reply via email to