niemals vergessen

2009-12-1 | 11:56 pm | Kein Kommentar »

mysql

$where = „itemtype='“. mysql_real_escape_string($string);

$where = sprintf(„id=%d“, $id);

php

$h2 = htmlspecialchars($_REQUEST[„itype“]);

php mysql funktionen

2008-02-12 | 3:57 pm | Kein Kommentar »

connect, query und disconnect

//connect
$dbh = mysql_connect($database,$username,$password);
if (!$dbh) {
   die("no db connect " . $mysql_error());
}

//select database
mysql_select_db($database, $dbh);

// mysql_query
$mysql_query = "SELECT date,titel FROM posts WHERE id=$id";
$rv = mysql_query($mysql_query, $dbh);

// mysql_fetch_row
while ($row = mysql_fetch_row($rv)) {

   $myDate = $row[0];
   $myTitel  = $row[1];
}
//mysql_fetch_assoc
while ($row = mysql_fetch_assoc($rv)) {
   $myDate = $row["date"];
   $myTitel  = $tow["titel"];
}

//disconnect
mysql_close($dbh);

links

RTFM

DELETE [mysql]

2007-10-26 | 12:36 pm | Kein Kommentar »

Aus einer Tabelle soll der Eintrag mit der id 123 geloescht werden. Gleichzeitig alle anderen Eintraege, die den selben Wert in der Spalte name haben.

DELETE t1
FROM $DATABASE.tabelle as t1
JOIN $DATABASE.tabelle as t2
ON t1.name = t2.name WHERE t2.id =123

ALTER TABLE [mysql]

2007-09-30 | 1:36 pm | Kein Kommentar »

Hinzufuegen einer Spalte

ALTER TABLE uniques ADD last_modified TIMESTAMP AFTER welt;

Umbenennung einer Spalte des Typs INTEGER von ablubb nach bblubb

ALTER TABLE storages CHANGE ablub bblub INTEGER;

primary key und auto_increment nachtraeglich hinzufuegen

ALTER TABLE adressen ADD PRIMARY KEY (nr);
ALTER TABLE adressen MODIFY nr INT AUTO_INCREMENT
rtfm

mysql server

2007-07-7 | 2:11 pm | Kein Kommentar »

mysql server installieren

apt-get install mysql
mysqladmin -u root password geheim

CREATE DATABASE xy;
GRANT ALL PRIVILEGES ON xy.* TO „christine“@“localhost“ IDENTIFIED BY ‚blub‘;
oder besser gleich so […] WITH GRANT OPTION;

grmpfl

/usr/sbin/mysqld –skip-grant-tables
mysql>use mysql;
mysql>update users set password = password(‚geheim‘) where user=“root“;

Dann mysql wieder normal starten (/etc/init.d/mysql start)!

database dumpen und wieder aufspielen

mysqldump datenbank -h db_host -u dbuser -p > sicherung.sql
mysql -u dbuser datenbank -p < sicherung.sql

mysql transaktionen

2007-07-7 | 2:07 pm | Kein Kommentar »


$m = new mysql($host,$usr,$pw,$db);
$m->autocommit(TRUE); // default, deshalb =>
$m->autocommit(FALSE); // muss explizit angegeben werden
$m->commit();
$m->rollback(); // im Fehlerfall

mysql client

2007-07-6 | 1:05 pm | Kein Kommentar »

zur mysql db verbinden

mysql -h host -u username -p

mysql befehle

SHOW DATABASES zeigt Datenbanken an
CREATE DATABASE uniques Anlegen einer DB
USE uniques zur DB „uniques“ wechseln
SHOW TABLES Tabellen der ausgewaehlten DB
DESCRIBE TABLE uniques Spalten und Spaltentypen der Tabelle „uniques“

select

LIKE „%string%“
GROUP BY
ORDER BY Sortier-Reihenfolge
DESC | ASC absteigend oder aufsteigend
LIMIT Anzahl der ausgegebenen Datensätze
SELECT * FROM uniques WHERE name LIKE „%hund%“;
SELECT count(*),owner FROM uniques;
SELECT name FROM uniques WHERE id=101;
SELECT DISTINCT age FROM adressen;
SELECT itemtype,count(*) FROM uniques WHERE welt=6 AND aktion=0 GROUP BY itemtype;

mehrere Tabellen verknuepfen

SELECT auto.name, adressen.name FROM adressen,autos WHERE autos.id=adressen.auto_id AND adresse.id=222;

insert und update

INSERT INTO uniques (name, owner) VALUES („Roter Himmel“, „Sabine“);
INSERT INTO uniques SET name=“Roter Himmel“, owner=“Brigitte“;
UPDATE uniuqes SET name=“Roter Himmell“ WHERE owner=“Brigitte“;

mysql befehle auf der commandline ausfuehren

mysql < create_table.sql

datei mit mysql anweisungen

#create_table.sql
CREATE TABLE uniques
(
   id INT AUTO_INCREMENT NOT NULL,
   name VARCHAR(128),
   owner VARCHAR(128),
   img VARCHAR(256),
   descr TEXT,
   date TIMESTAMP,
   PRIMARY KEY (id)
);

INSERT INTO uniques (name,owner) VALUES ("Mauseloch", "Katze");
INSERT INTO uniques (name,owner) VALUES ("Hundeknochen", "Katze");

perl DBI [mysql]

2001-01-4 | 3:02 pm | Kein Kommentar »

mysql connect/disconnect

use DBI;
$dbh = DBI->connect(„DBI:mysql:database=$database:$host“,$username,$password)
or die „Fehler beim db connect: $!“;
$dbh->disconnect();

do

$mysql_query = „DELETE FROM adressen WHERE ID=202“;
$rv = $dbh->do($mysql_query);
Rückgabewert $rv Anzahl der veränderten Zeilen

prepare-execute

$mysql_query = „SELECT count(*) FROM uniques WHERE name=?“;
$sth = $dbh->prepare($mysql_query);
$rv = $sth->execute(„Bohne“);
Rückgabewert $rv wahr bei Erfolg: if ($rv) {// erfolgreich}

Zeilenweises Auslesen mit fetchrow_array

while (@row = $sth->fetchrow_array) {
print „name: $row[0] \n“;
print „owner: $row[1] \n“;
}

Zeilenweises Auslesen als Hash mit fetchrow_hashref

while ($hash = $sth->fetchrow_hashref) {
$myName = $hash->{„name“};
$myOwner = $hash->{„owner“};
}