MySQL

CK-MySQL

CK-SQL ist eine SQL-Klasse mit der man einfach auf seine Datenbank zugreifen kann, außerdem kann man sie leicht erweitern. Sollte man schon PHP5 haben, sollte man die in PHP integrierte mysqli-Klasse verwenden, da sie sicherer ist.

Neue MySQLi-Klasse

Wenn man in PHP immer wieder die selben Abläufe benötigt, kann man sich mit Funktionen oder Klassen vieles erleichtern.
Wenn man z.B. eine MySQL-Verbindung herstellt und für jedes Query die Fehlerbehandlung selbst schreiben muss, kann das ziemlich umständlich werden.
PHP5 hat bereits eine "neue" Klasse integriert, die MySQLi-Klasse, welche einen verbesserten Zugriff auf MySQL-Datenbanken ermöglicht (i = improved).

MySQL Update

Bevor man ein Update-Query ausführen kann, muss für das Script eine MySQL-Verbindung geöffnet werden. Und es sollten Daten in der Tabelle vorhanden sein (MySQL-Insert)

Mit folgenden Befehlen kann man vorhandene Daten ändern.

MySQL

In den Beispielen für MySQL verwende ich folgende Datenbank:
1
2
3
4
5
6
7
CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(40) NOT NULL,
  `password` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Man kann diese Tabelle z.B. über den "SQL"-Reiter im phpmyadmin erstellen.

Alle Tutorials für MySQL sind in Verbindung mit PHP erstellt.

MySQL Insert

Als erstes sollte man die Tabelle mit Daten füllen.
1
2
3
4
5
$query = "INSERT INTO user (name, password, email) VALUES ('Testuser', 'abcdefgh', 'testuser@example.com')";
$result = mysql_query($query);
if (!$result) {
    die('Ungültige Abfrage: ' . mysql_error());
}

MySQL Select

Bevor man ein Select-Query ausführen kann, muss für das Script eine MySQL-Verbindung geöffnet werden. Und es sollten Daten in der Tabelle vorhanden sein (MySQL-Insert)
1
2
3
4
5
$query = "SELECT * FROM user WHERE name = 'Testuser'";
$result = mysql_query($query);
if (!$result) {
    die('Ungültige Abfrage: ' . mysql_error());
}

Mit "SELECT" werden alle Spalten ( * ) der Tabelle "user" ausgelesen, bei denen das Feld "name" gleich "Testuser" ist.

MySQL Connect

So kann ein einfacher MySQL Connect zur Datenbank in PHP aussehen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql = mysql_connect('DBHost','DBUser','DBPassword');
if(!sql) {
   die('Keine Verbindung möglich: ' . mysql_error());
}
 
$sql_db = mysql_select_db('DBName', $sql);
if (!$sql_db) {
    die('Kann DBName nicht benutzen: ' . mysql_error());
}
 
// Optional, setzt den verwendeten Zeichensatz für diese Verbindung auf UTF8
mysql_set_charset("utf8", $sql);
?>

Siehe auch: php.net - mysql_connect

Inhalt abgleichen