database

PHP-Datenbankzugriff über PDO

Wednesday, March 3rd, 2010

Wie in einem anderen Posting erklärt ( http://donauweb.at/ebusiness-blog/2009/11/15/sicherheit-security-eines-webshops-verbessern/ ), gibt es bei PHP keine 100% Maßnahmen gegen SQL-Injection mit konventionellem Datenbankzugriff. Nur parametrisierte SQL-Befehle bieten mehr Sicherheit. Es ist daher empfehlenswert, nur noch PDO für Datenbankzugriffe zu verwenden.

Um Datenbankzugriffe mit PDO zu vereinfachen habe ich eine Bibliothek-Klasse geschrieben für den Zugriff auf eine Datenbank mittels PDO. Diese Klasse bietet Funktionalitäten wie bei ADODB. Die wichtigsten sind:

  • pdoGetAll($sql, $data) und pdoGetRow($sql, $data) liefern ein oder mehrere Datensätze als Array zurück.
    Der SQL-Befehl kann Parameter beinhalten, deren Werte in $data mitgeliefert werden.
    zB $sql = “select * from table where id=:id”
  • pdoGetAssoc($sql, $data) holt das gleiche Resultat wie pdoGetAll, jedoch wird die erste Spalte zum Index vom Array. Dadurch ist das Lesen von zB definierten ID-Werten nachher wesentlich einfacher.
  • pdoInsUpd($table, $data, $insert_or_update, $where) erstellt einen INSERT oder UPDATE SQL-Befehl an Hand der übergebenen Parameter und führt diesen Befehl aus.

Die Klasse kann als OpenSource downgeloadet werden.

Turnover statistics plugin for OsCommerce

Friday, January 16th, 2009

A new plugin for OsCommerce creates nice turnover statistics.

Graphical in Flash and in a table.

More info and download:
http://synctables.com/turnover-statistics-for-oscommerce.php

oscommerce turnover statistics plugin

Comments for the developer of this plugin
can be entered on this page.

Tabellen editieren in einem Grid

Wednesday, November 5th, 2008

Professionelle Tools wie Treegrid.com (sehr gut übrigens) können schon länger direkt Tabellen auf einer Webseite in einem Grid editieren. Jetzt gibt es Open-Source Ansätze dazu: http://www.drasticdata.nl mit dieser Beispielseite oder extjs.com mit diesem Beispiel.

Land eines Besuchers ermitteln

Saturday, August 9th, 2008

Der Browser sendet die IP-Nummer des Besucher-Computers an den Webserver. Diese IP-Nummer ist einem Provider zugeordnet und damit kann man das Land des Besuchers ermitteln.

Listen mit der Zuordnung Land zu IP-Nummer gibt es hier:

http://ip-to-country.webhosting.info/node/view/6
http://ip.ludost.net/

In Mysql werden IP-Nummern am besten als integer gespeichert. Für die Umwandlung von integer zu IP-Nummer gibt es die MySQL-Funktionen INET_ATON und INET_NTOA.

mysql> SELECT INET_ATON('209.207.224.40');
        -> 3520061480

The generated number is always in network byte order. For the example just shown, the number is calculated as 209x2563 + 207×2562 + 224×256 + 40.

mysql> SELECT INET_NTOA(3520061480);
        -> ‘209.207.224.40′

SyncTables

Thursday, May 1st, 2008

There is a new softwaretool to copy and synchronize database tables between different databases (MySQL, MS SQLServer and Access). This tool even has an http-tunnel so synchronizing your local database to your webdatabase is getting very easy!

Have a look at http://SyncTables.com