-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathmysql-insert-id.xml
139 lines (130 loc) · 4.08 KB
/
mysql-insert-id.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4754397753fd79f1c846868b66a2448babab1c54 Maintainer: simp Status: ready -->
<!-- Credits: hholzgra -->
<refentry xml:id="function.mysql-insert-id" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysql_insert_id</refname>
<refpurpose>
Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
</refpurpose>
</refnamediv>
<refsynopsisdiv>
<warning>
&mysql.alternative.note;
<simplelist role="alternatives">
<member><function>mysqli_insert_id</function></member>
<member><methodname>PDO::lastInsertId</methodname></member>
</simplelist>
</warning>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>mysql_insert_id</methodname>
<methodparam choice="opt"><type>resource</type><parameter>link_identifier</parameter><initializer>NULL</initializer></methodparam>
</methodsynopsis>
<para>
Gibt die ID zurück, die für eine AUTO_INCREMENT-Spalte durch die vorherige
Abfrage (meist INSERT) erzeugt wurde.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&mysql.linkid.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt bei Erfolg die ID zurück, die durch die vorherige Abfrage für eine
AUTO_INCREMENT-Spalte erzeugt wurde, <literal>0</literal>, falls die
vorherige Abfrage keinen AUTO_INCREMENT Wert erzeugt hatte, oder &false;,
falls keine MySQL-Verbindung existierte.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>mysql_insert_id</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Der letze eingefügte Datensatz hat die ID %d\n", mysql_insert_id());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<caution>
<para>
<function>mysql_insert_id</function> konvertiert den Typ der Rückgabe der
nativen MySQL C API-Funktion <literal>mysql_insert_id()</literal> in den
Typ <literal>long</literal> (in PHP als <type>int</type> bezeichnet).
Falls Ihre AUTO_INCREMENT-Spalte vom Typ BIGINT (64 Bit) ist, ist der
Wert, den <function>mysql_insert_id</function> zurückgibt, nicht korrekt.
Verwenden Sie in einer SQL-Abfrage in diesem Fall stattdessen die
MySQL-interne SQL-Funktion <literal>LAST_INSERT_ID()</literal>. Für
weitergehende Informationen bezüglich PHPs maximaler Integer-Werte, lesen
Sie bitte die
<link linkend="language.types.integer">Integer</link>-Dokumenation.
</para>
</caution>
<note>
<para>
Da <function>mysql_insert_id</function> mit der zuletzt durchgeführten
Abfrage arbeitet, sollten Sie <function>mysql_insert_id</function>
unmittelbar nach der Abfrage aufrufen, die den Wert erzeugt.
</para>
</note>
<note>
<para>
Der Wert der MySQL-SQL-Funktion <literal>LAST_INSERT_ID()</literal>
gibt immer den zuletzt erzeugten AUTO_INCREMENT-Wert zurück. Dieser wird
zwischen Abfragen nicht zurückgesetzt.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysql_query</function></member>
<member><function>mysql_info</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
-->