1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
<?xml version="1.0" encoding="UTF-8"?>
<refentry version="5.0-subset Scilab" xml:id="mysql_sqlstate" xml:lang="en"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns3="http://www.w3.org/1999/xhtml"
xmlns:mml="http://www.w3.org/1998/Math/MathML"
xmlns:db="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_sqlstate</refname>
<refpurpose>Returns a null-terminated string containing the
SQLSTATE error code for the most recently executed SQL statement.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Calling Sequence</title>
<synopsis>sql_state = mysql_sqlstate(mysql)</synopsis>
</refsynopsisdiv>
<refsection>
<title>Description</title>
<para>Returns a string containing the SQLSTATE error code for the
most recently executed SQL statement. The error code consists of
five characters. '00000' means “no error”. The values are
specified by ANSI SQL and ODBC.</para>
<para>SQLSTATE values returned by <literal>mysql_sqlstate</literal>
differ from MySQL-specific error numbers returned by
<literal>mysql_errno</literal>. For example, the mysql client
program displays errors using the following format, where 1146
is the <literal>mysql_errno</literal> value and '42S02' is the
corresponding <literal>mysql_sqlstate</literal> value:</para>
<programlisting role="example"><![CDATA[
shell> SELECT * FROM no_such_table;
ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist
]]></programlisting>
<para>Not all MySQL error numbers are mapped to SQLSTATE error
codes. The value 'HY000' (general error) is used for
unmapped error numbers.</para>
<para>If you call <literal>mysql_sqlstate</literal> after
<literal>mysql_real_connect</literal> fails,
<literal>mysql_sqlstate</literal> might not return a useful
value. For example, this happens if a host is blocked by the
server and the connection is closed without any SQLSTATE
value being sent to the client.</para>
</refsection>
<refsection>
<title>Parameters</title>
<variablelist>
<varlistentry>
<term>mysql</term>
<listitem>
<para>a MySQL pointer</para>
</listitem>
</varlistentry>
<varlistentry>
<term>sql_state</term>
<listitem>
<para>a string representing the error code.</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Examples</title>
<programlisting role="example"><![CDATA[
username = 'glpk'; // Put your username
password = 'gnu'; // Put your password
database = 'glpk';
port = 3306; // use netstat -a | grep mysql to locate the mysql port
// or ps -elf | grep mysql and locate --port
myhost = 'localhost'; // localhost most of the time
sql_ptr = mysql_init();
status = mysql_real_connect(sql_ptr, myhost, username, password, database, port);
disp(mysql_sqlstate(mysql));
mysql_close(sql_ptr);
]]></programlisting>
</refsection>
<refsection>
<title>See Also</title>
<simplelist type="inline">
<member><link linkend="mysql_init">mysql_init</link></member>
<member><link linkend="mysql_real_connect">mysql_real_connect</link></member>
<member><link linkend="mysql_close">mysql_close</link></member>
</simplelist>
</refsection>
<refsection>
<title>Authors</title>
<simplelist type="vert">
<member>Yann COLLETTE</member>
</simplelist>
</refsection>
</refentry>
|