forked from php/doc-ja
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmysql-data-seek.xml
159 lines (148 loc) · 4.67 KB
/
mysql-data-seek.xml
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: dbf319f8b2d859edf2b1342014c4dbdf6333b81c Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,mumumu -->
<refentry xml:id="function.mysql-data-seek" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_data_seek</refname>
<refpurpose>内部的な結果ポインタを移動する</refpurpose>
</refnamediv>
<refsynopsisdiv>
<warning>
&mysql.alternative.note;
<simplelist role="alternatives">
<member><function>mysqli_data_seek</function></member>
<member><constant>PDO::FETCH_ORI_ABS</constant></member>
</simplelist>
</warning>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>mysql_data_seek</methodname>
<methodparam><type>resource</type><parameter>result</parameter></methodparam>
<methodparam><type>int</type><parameter>row_number</parameter></methodparam>
</methodsynopsis>
<para>
<function>mysql_data_seek</function> は、指定した結果 ID
(result_identifier)が指す MySQL 結果の内部ポインタが指定した行番号
(row_number)を指すように移動します。
この後、たとえば <function>mysql_fetch_assoc</function> のような
MySQL のフェッチ関数をコールした場合には、
ここで指定した行の内容が返されます。
</para>
<para>
<parameter>row_number</parameter> は 0 から始まります。
<parameter>row_number</parameter> は 0 から
<function>mysql_num_rows</function> - 1 までの範囲にあるべきです。
しかし、もし結果セットが空(<function>mysql_num_rows</function> == 0)
の場合、0 へのシークは
<constant>E_WARNING</constant>
を発生して失敗し、<function>mysql_data_seek</function> は &false; を返します。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&mysql.result.description;
<varlistentry>
<term><parameter>row_number</parameter></term>
<listitem>
<para>
新しく結果ポインタを設定したい行番号です。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>mysql_data_seek</function> の例</title>
<programlisting role="php">
<![CDATA[
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
die('データベースを選択できませんでした: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
die('クエリは失敗しました: ' . mysql_error());
}
/* 行を逆順で取得する */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
if (!mysql_data_seek($result, $i)) {
echo "行 $i をシークできません: " . mysql_error() . "\n";
continue;
}
if (!($row = mysql_fetch_assoc($result))) {
continue;
}
echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}
mysql_free_result($result);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<function>mysql_data_seek</function> は、
<function>mysql_query</function> との組み合わせでのみ利用可能です。
<function>mysql_unbuffered_query</function> と組み合わせることはできません。
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysql_query</function></member>
<member><function>mysql_num_rows</function></member>
<member><function>mysql_fetch_row</function></member>
<member><function>mysql_fetch_assoc</function></member>
<member><function>mysql_fetch_array</function></member>
<member><function>mysql_fetch_object</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
-->