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>