1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-29 01:32:07 +01:00
Files
archived-doc-de/reference/sqlite/functions/sqlite-open.xml
2003-06-26 07:35:32 +00:00

126 lines
4.4 KiB
XML
Executable File

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry id="function.sqlite-open">
<refnamediv>
<refname>sqlite_open</refname>
<refpurpose>Öffnet eine SQLite Datenbank. Wenn die Datenbank nicht existiert, wird sie erzeugt.</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung</title>
<methodsynopsis>
<type>resource</type><methodname>sqlite_open</methodname>
<methodparam><type>string</type><parameter>Datei</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>&amp;Fehler</parameter></methodparam>
</methodsynopsis>
<para>
Liefert eine Datenbankresource bei einer erfolgreichen Verbindung zurück, sonst &false;.
</para>
<para>
Der Parameter <parameter>Datei</parameter> enthält den Namen
der Datenbank. Es kann sich dabei um einen relativen und auch um
einen absoluten Pfad zu der Datei handeln, in der SQLite die Daten
speichern wird. Wenn die Datei noch nicht existiert, wird
SQlite versuchen, sie anzulegen. Sie <emphasis>MÜSSEN</emphasis>
Schreibrechte auf die Datei haben, wenn Sie Daten in die
Datenbank eintragen oder die Datenbank ändern wollen.
</para>
<para>
Der Parameter <parameter>mode</parameter> spezifiziert den Modus der
Datei und 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>06666</literal>.
Es handelt sich dabei um den empfohlenen Wert, wenn der Parameter
<parameter>Fehler</parameter> genutzt werden soll.
</para>
<para>
<parameter>Fehler</parameter> wird per Referenz übergeben und enthält eine
lesbare Fehlermeldung, warum die Datenbank nicht geöffnet werden konnte -
wenn ein Fehler vorlag.
</para>
<para>
<example>
<title><function>sqlite_open</function> Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
sqlite_query('CREATE TABLE foo (bar varchar(10))');
sqlite_query("INSERT INTO foo VALUES ('fnord')");
$result = sqlite_query('select bar from foo');
var_dump(sqlite_fetch_array($result));
} else {
die ($sqliteerror);
}
?>]]>
</programlisting>
</example>
</para>
<tip>
<simpara>
Auf Unix-Plattformen müssten Skripte, die den Systembefehl fork() nutzen, für
SQLite angepasst werden. Wenn Sie solch ein Skript haben, sollten sie vor dem
fork() die Datenbank schliessen und sie nach dem fork() im Kind- und/oder
Vaterprozess neu öffnen.
Weitere Informaitonen hierzu
For more information on this issue, see <ulink
url="&url.sqlite.interface.c;">The C language interface
to the SQLite library</ulink> in the section entitled
<literal>Multi-Threading And SQLite</literal>.
</simpara>
</tip>
<tip>
<simpara>
It is not recommended to work with SQLite databases mounted on NFS
partitions. Since NFS is notoriously bad when it comes to locking you
may find that you cannot even open the database at all, and if it
succeeds, the locking behaviour may be undefined.
</simpara>
</tip>
<note>
<simpara>
Starting with SQLite library version 2.8.2, you can specify
<literal>:memory:</literal> as the <parameter>filename</parameter> to
create a database that lives only in the memory of the computer.
This is useful mostly for temporary processing, as the in-memory
database will be destroyed when the process ends. It can also be
useful when coupled with the <literal>ATTACH DATABASE</literal> SQL
statement to load other databases and move and query data betweem them.
</simpara>
</note>
<note>
<simpara>
SQLite is &safemode; and open_basedir aware.
</simpara>
</note>
<para>
See also <function>sqlite_popen</function>,
<function>sqlite_close</function> and
<function>sqlite_query</function>.
</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:"../../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
-->