join-Statements mit Zend DB: /* * $db = a valid Zend_DB resource * table1: foo (short: t1) * table2: bar (short: t2) * columns: column1, column2, column3 */ $select = $db->select() ->from( array(‘t1′ => ‘foo’), // table name array(‘t1.column1′, ‘t1.column2′, ‘t1.column3′)) // selected columns ->join( array(‘t2′ => ‘bar’), ‘t1.column1 = t2.column1′) // JOIN bar t2… Read more »
Posts Tagged: Mysql
Spalten einer Tabelle in MySQL/PostgreSQL abfragen
Mit MySQL kann man sich die Spalten einer Tabelle mit folgendem Befehl ausgeben lassen: SHOW COLUMNS FROM foo; Unter PostgreSQL geht es mit folgender Abfrage: SELECT column_name FROM information_schema.COLUMNS \ WHERE table_name = ‘foo’;
Concat unter MySQL & PostgreSQL
So kann man unter MySQL 2 Spalten in einer darstellen: SELECT CONCAT(id,” “, name) AS spalte FROM tabelle; So geht es unter PostgreSQL: SELECT id || ‘ ‘ || name AS spalte FROM tabelle;
Geburtstag in der Zukunft ermitteln
Wenn die Geburtstage im MySQL DATE Format gespeichert sind: SELECT * FROM table WHERE MONTH(column)>MONTH(NOW()) OR (MONTH(column)=MONTH(NOW()) AND DAYOFMONTH(column)>DAYOFMONTH(NOW())) ORDER BY MONTH(column), DAY(column) ASC
OpenBSD: phpMyAdmin installieren #2
Es kann sein, dass sich phpMyAdmin nach der Installation komisch verhält: Man kan keine Abfragen machen, keine User anlegen und vor allem dingen: es sieht komisch aus da keine Style-Sheets geladen werden. Wie schon beschrieben kann das an der session.save_path liegen, ich möchte jetzt genauer darauf eingehen. Wenn man sich den error.log (/var/www/logs/error_log) des Apache… Read more »
OpenBSD: phpMyAdmin installieren
Unter OpenBSD kann man phpMyAdmin ganz komfortabel mit pkg_add installieren. Nach erfolgreicher Installation wird folgende Meldung ausgegeben: Install notice: The phpMyAdmin has been installed into /var/www/phpMyAdmin You should point this to the DocumentRoot of your web-server: # ln -s ../phpMyAdmin /var/www/htdocs/phpMyAdmin (make sure you use a relative symlink since Apache is chrooted) You can ensure… Read more »
OpenBSD: MySQL-Server
Ein MySQL-Server kann auch einfach über pkg_add installiert werden: # pkg_add mysql-server-5.0.45.tgz Sollte auf dem System noch kein MySQL installiert gewesen sein, so bekommt man beim Starten mit # /usr/local/bin/mysqld_safe & folgendes zu lesen: # touch: /var/mysql/blowfish.blizzardz.err: No such file or directory chown: /var/mysql/blowfish.blizzardz.err: No such file or directory Starting mysqld daemon with databases from… Read more »
Letzte Id bei AutoIncrement ausgeben
Wenn man bei einem Scrpitaufruf Einträge in mehrere Tabellen machen will und man für nachfolgende Einträge eine Id haben will die mit AutoIncrement erstellt wurde, dann kann man diese mit der PHP-Funktion mysql_insert_id auslesen. Das Zend Framework-Pendant dazu ist $db->lastInsertId(); Beispiel: <?php$data = array( ’vorname’ => ”heiko”, ’nachname’ => ”schweizer”);$db->insert(‘rd_accounts’, $data); echo $db->lastInsertId();?>
Db über die Konsole importieren
Manche Datenbanken sind so groß, dass sie sich nicht ohne weiteres über PhpMyAdmin ipmortieren lassen. Aber dafür gibt es ja die mysql-Konsole. Mit folgendem Befehl importiert man die Datei: mysql -u user -pPasswort -D datenbank < datei Wenn man das Passwort nicht auf der Konsole angeben möchte kann man es auch per Abfrage eingeben: mysql... Read more »
Join leicht gemacht
Eigentlich war ich ja ein Fan von Subselects aber heute hat es damit einfach nicht hingehauen. Also musste ich mich an alte Werte zurückentsinnen und habe mein Problem schliesslich mit Inner Join gelöst. Um was ging es? Ich habe eine Tabelle mit Usern (rd_accounts), eine Tabelle mit Gallerien (rd_gallerien) und eine Tabelle um die 2… Read more »