File: mysqli-thread-id.xml

package info (click to toggle)
php-doc 20061001-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 45,764 kB
  • ctags: 1,611
  • sloc: xml: 502,485; php: 7,645; cpp: 500; makefile: 297; perl: 161; sh: 141; awk: 28
file content (143 lines) | stat: -rw-r--r-- 3,787 bytes parent folder | download | duplicates (2)
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
  <refentry id="function.mysqli-thread-id">
   <refnamediv>
    <refname>mysqli_thread_id</refname>
    <refname>mysqli->thread_id</refname>
    <refpurpose>Returns the thread ID for the current connection</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
    <para>Procedural style:</para>
    <methodsynopsis>
     <type>int</type><methodname>mysqli_thread_id</methodname>
     <methodparam><type>mysqli</type><parameter>link</parameter></methodparam>
    </methodsynopsis>
    <para>Object oriented style (property):</para>
    <classsynopsis>
     <ooclass><classname>mysqli</classname></ooclass>
     <fieldsynopsis><type>int</type><varname>thread_id</varname></fieldsynopsis>
    </classsynopsis>
    <para>
     The <function>mysqli_thread_id</function> function returns the thread
     ID for the current connection which can then be killed using the
     <function>mysqli_kill</function> function. If the connection is lost
     and you reconnect with <function>mysqli_ping</function>, the thread ID
     will be other. Therefore you should get the thread ID only when you need it.
    </para>
    <note>
     <para>
      The thread ID is assigned on a connection-by-connection basis. Hence,
      if the connection is broken and then re-established a new thread ID
      will be assigned.
     </para>
     <para>
      To kill a running query you can use the SQL command <literal>KILL QUERY processid</literal>.
     </para>
    </note>
   </refsect1>
   <refsect1>
    &reftitle.returnvalues;
    <para>
     <function>mysqli_thread_id</function> returns the Thread ID for the current connection.
    </para> 
   </refsect1>
   <refsect1>
    &reftitle.seealso;
    <para>
     <function>mysqli_kill</function>.
    </para>
   </refsect1>
   <refsect1>
    &reftitle.examples;
    <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();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* 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();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>
]]>
     </programlisting>
    </example>
    &example.outputs;
    <screen>
<![CDATA[
Error: MySQL server has gone away
]]>
    </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
-->