1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-25 07:42:18 +01:00
Files
archived-doc-de/reference/sqlite/functions/sqlite-open.xml
2010-03-29 00:47:47 +00:00

186 lines
6.5 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lapistano Status: ready -->
<refentry xml:id="function.sqlite-open" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sqlite_open</refname>
<refpurpose>
Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>sqlite_open</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>0666</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter role="reference">error_message</parameter></methodparam>
</methodsynopsis>
<para>Objektorientierter Stil (constructor):</para>
<classsynopsis>
<ooclass><classname>SQLiteDatabase</classname></ooclass>
<constructorsynopsis>
<methodname>__construct</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>0666</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter role="reference">error_message</parameter></methodparam>
</constructorsynopsis>
</classsynopsis>
<para>
Öffnet eine SQLite-Datenbank. Wenn die Datenbank nicht existiert,
wird sie erzeugt.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Dateiname der SQLite-Datenbank. Es handelt sich dabei entweder um einen
relativen, oder einen absoluten Pfad zu der Datei, in der
SQLite die Daten speichern wird. Wenn die Datei noch nicht existiert,
wird SQlite versuchen, sie zu erzeugen. Sie <emphasis>MÜSSEN</emphasis>
Schreibrechte auf die Datei haben, wenn Sie Daten in die
Datenbank eintragen oder die Datenbank ändern wollen.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
Modus der Datei. Dieser sollte genutzt werden, wenn die Datenbank
nur Lesezugriff erlauben soll.
Zur Zeit wird dieser Parameter von der SQLite-Bibliothek ignoriert.
Der Standardwert für Modus ist der oktale Wert <literal>0666</literal>.
Es handelt sich dabei um den empfohlenen Wert, wenn der Parameter
<parameter>error_message</parameter> genutzt werden soll.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_message</parameter></term>
<listitem>
<para>
Wird als Referenz übergeben und wird im Fehlerfall eine aussagekräftige
Fehlermeldung enthalten. Diese wird erklären, warum die Datenbank nicht
geöffnet werden konnte.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Liefert eine Ressource (Datenbankverbindung) nach erfolgreichem
Verbindungsaufbau. Ist ein Fehler aufgetreten wird &false;
zurückgegeben.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>sqlite_open</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
$result = sqlite_query($db, 'select bar from foo');
var_dump(sqlite_fetch_array($result));
} else {
die($sqliteerror);
}
?>]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<tip>
<simpara>
In Unix-Umgebungen reagiert SQLite auf Skripte, die den Systembefehl
fork() nutzen. Sollten Sie ein solches Skript einsetzen, ist es ratsam
bestehende Datenbankverbindungen zu beenden, anschließend den Fork
ausführen, um dann die Verbindung entweder in einem Kind- oder dem
Eltern-Prozess wieder herzustellen.
Mehr Informationen zu diesem Thema finden Sie unter
<link xlink:href="&url.sqlite.interface.c;">Die C Sprachenschnittstelle zur SQLite-Bibliothek</link>
in dem Kapitel names <literal>Multi-Threading And SQLite</literal>.
</simpara>
</tip>
<tip>
<simpara>
Es ist nicht empfehlenswert mit SQLite-Datenbanken zu arbeiten, die auf
einer via NFS verbundenen Partition gespeichert sind. NFS neigt
notorisch zu einem unvorhersehbarem Verhalten, wenn Dateien exklusiv
gegen den Zugriff durch Dritte gesperrt werden. Dabei kann es sein,
dass entweder eine Datenbankverbindung gar nicht zustande kommt, oder das
Sperrverhalten undefiniert ist.
</simpara>
</tip>
<note>
<simpara>
Seit der SQLite-Bibliothek in der Version 2.8.2, ist es möglich
<literal>:memory:</literal> als <parameter>filename</parameter>
anzugeben. Die erzeugte Datenbank wird dann ausschließlich im
Speicher des Computers erzeugt und verwaltet. Dies ist nützlich bei
der temporären Datenverarbeitung, da die Datenbank mit Prozessende
zerstört wird. Eine solche Datenbank ist ebenfals nützlich, wenn
sie in Verbindung mit dem <literal>ATTACH DATABASE</literal>
SQL-Befehl andere Datenbanken einbindet, um Daten zwischen diesen
auszutauschen und abzufragen.
</simpara>
</note>
<note>
<simpara>
SQLite berücksichtigt &safemode; und open_basedir.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sqlite_popen</function></member>
<member><function>sqlite_close</function></member>
<member><function>sqlite_factory</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
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
-->