File: cubrid-query.xml

package info (click to toggle)
php-doc 20140201-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 74,084 kB
  • ctags: 4,040
  • sloc: xml: 998,137; php: 20,812; cpp: 500; sh: 177; makefile: 63; awk: 28
file content (192 lines) | stat: -rw-r--r-- 6,025 bytes parent folder | download
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
186
187
188
189
190
191
192
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 330626 $ -->

<refentry xml:id="function.cubrid-query" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>cubrid_query</refname>
  <refpurpose>Send a CUBRID query</refpurpose>
 </refnamediv>

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

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>query</parameter></term>
     <listitem>
      <para>
       An SQL query
      </para>
      <para>
       Data inside the query should be <link linkend="function.cubrid-real-escape-string">properly escaped</link>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>conn_identifier</parameter></term>
     <listitem>
      <para>
       The CUBRID connection. If the connection identifier is not specified,
       the last connection opened by <function>cubrid_connect</function> is
       assumed.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset,
   <function>cubrid_query</function> returns a <type>resource</type> on success, or &false; on error.
  </para>
  <para>
   For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc,
   <function>cubrid_query</function> returns &true; on success or &false; on error.
  </para>
  <para>
   The returned result resource should be passed to <function>cubrid_fetch_array</function>, and other
   functions for dealing with result tables, to access the returned data.
  </para>
  <para>
   Use <function>cubrid_num_rows</function> to find out how many rows were returned for a SELECT statement or
   <function>cubrid_affected_rows</function> to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.
  </para>
  <para>
   <function>cubrid_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>cubrid_query</function> fails and returns &false;.
    </para>
    <programlisting role="php">
<![CDATA[
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb');

$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . cubrid_error());
}

?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   <example>
    <title>Valid Query</title>
    <para>
     The following query is valid, so <function>cubrid_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';

$conn = cubrid_connect('localhost', 33000, 'demodb');

cubrid_execute($conn,"DROP TABLE if exists friends");
cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see cubrid_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($firstname),
cubrid_real_escape_string($lastname));

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

// Check result
// This shows the actual query sent to CUBRID, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . cubrid_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 cubrid result functions must be used
// See also cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($row = cubrid_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
cubrid_free_result($result);
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>cubrid_connect</function></member>
    <member><function>cubrid_error</function></member>
    <member><function>cubrid_real_escape_string</function></member>
    <member><function>cubrid_result</function></member>
    <member><function>cubrid_fetch_assoc</function></member>
    <member><function>cubrid_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:"~/.phpdoc/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
-->