File: mysql-query.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 (185 lines) | stat: -rw-r--r-- 5,422 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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.15 $ -->
<!-- splitted from ./en/functions/mysql.xml, last change in rev 1.62 -->
  <refentry id="function.mysql-query">
   <refnamediv>
    <refname>mysql_query</refname>
    <refpurpose>Send a MySQL query</refpurpose>
   </refnamediv>

   <refsect1 role="description">
    &reftitle.description;
    <methodsynopsis>
     <type>resource</type><methodname>mysql_query</methodname>
     <methodparam><type>string</type><parameter>query</parameter></methodparam>
     <methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter></methodparam>
    </methodsynopsis>
    <para>
     <function>mysql_query</function> sends a query (to the currently
     active database on the server that's associated with the
     specified <parameter>link_identifier</parameter>).
    </para>
   </refsect1>

   <refsect1 role="parameters">
    &reftitle.parameters;
    <para>
     <variablelist>
      <varlistentry>
       <term><parameter>query</parameter></term>
       <listitem>
        <para>
         A SQL query
        </para>
        <para>
         The query string should not end with a semicolon.
        </para>
       </listitem>
      </varlistentry>
      &mysql.linkid.description;
     </variablelist>
    </para>
   </refsect1>

   <refsect1 role="returnvalues">
    &reftitle.returnvalues;
    <para>
     For SELECT, SHOW, DESCRIBE or EXPLAIN statements,
     <function>mysql_query</function> 
     returns a <type>resource</type> on success, or &false; on
     error.
    </para>
    <para>
     For other type of SQL statements, UPDATE, DELETE, DROP, etc,
     <function>mysql_query</function> returns &true; on success
     or &false; on error.
    </para>
    <para>
     The returned result resource should be passed to
     <function>mysql_fetch_array</function>, and other
     functions for dealing with result tables, to access the returned data.
    </para>
    <para>
     Use <function>mysql_num_rows</function> to find out how many rows
     were returned for a SELECT statement or
     <function>mysql_affected_rows</function> to find out how many
     rows were affected by a DELETE, INSERT, REPLACE, or UPDATE
     statement.
    </para>
    <para>
     <function>mysql_query</function> will also fail and return &false;
     if the user does not have permission to access the table(s) referenced by
     the query.
    </para>
   </refsect1>

   <refsect1 role="examples">
    &reftitle.examples;
    <para>
     <example>
      <title>Invalid Query</title>
      <para>
       The following query is syntactically invalid, so
       <function>mysql_query</function> fails and returns &false;.
      </para>
      <programlisting role="php">
<![CDATA[
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     <example>
      <title>Valid Query</title>
      <para>
       The following query is valid, so <function>mysql_query</function>
       returns a <type>resource</type>.
      </para>
      <programlisting role="php">
<![CDATA[
<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

// Formulate Query
// This is the best way to perform a SQL query
// For more examples, see mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>
]]>
      </programlisting>
     </example>
    </para>
   </refsect1>

   <refsect1 role="seealso">
    &reftitle.seealso;
    <para>
     <simplelist>
      <member><function>mysql_connect</function></member>
      <member><function>mysql_error</function></member>
      <member><function>mysql_real_escape_string</function></member>
      <member><function>mysql_result</function></member>
      <member><function>mysql_fetch_assoc</function></member>
      <member><function>mysql_unbuffered_query</function></member>
     </simplelist>
    </para>
   </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
-->