PHP Object zu Array Rekursiv

Hallo,

bei mir kommt es öfters vor, das ich mit Objekten konfrontiert werde. Das ist so garnicht mein Favorit. Daher forme ich mir das immer in ein Array um, welches schöner zu verarbeiten und zu erweitern ist. Die einfachste und beste Methode dieses Rekursiv zu tun ist:
$array = json_decode(json_encode($object), true);


Klein, aber fein 😉

MySQL Tabellenformat MyISAM <-> InnoDB ändern

Hallo, da oft die Vorteile von InnoDB überwiegen, habe ich mich entschlossen langsam ein größeres Netzwerk aus mehreren Datenbanken umzustellen. Über PhpMyAdmin ist das ganze etwas umständlich, daher hab ich müch für die reine SQL Variante entschieden, frei nach dem Motto: Lass die Scripte für dich arbeiten.  Weiterlesen

MysqlDump – Can’t open file (errno: 24) when using LOCK TABLES

Mysql Hallo,

da ich öfters mit Datenbanken arbeite, wo einige Tabellen drin sind kam es beim Backupen oft zu Problemen. Er gab mir dann folgenden Fehler aus:
mysqldump: Got error: 1016: Can't open file: './xxx/xxxx.frm' (errno: 24) when using LOCK TABLES
 Weiterlesen

Alle MySQL Datenbanken reparieren bzw. überprüfen

Hallo,

die meisten kennen ja den Repair Befehl von MySQL (repair table xxx). Da ich aber viele Datenbanken auf einen Server nutze und keine Lust habe alle zu checken, mache ich nach dem neustart meist paar Befehle in das System, um sicher zu gehen, das nicht kaputt gegangen ist.

In allen Datenbanken alle Tabellen überprüfen (check):

mysqlcheck -p --all-databases


In allen Datenbanken alle Tabellen reparieren (repair):

mysqlcheck -p --all-databases --repair


oder gleich:

mysqlcheck -p --all-databases --auto-repair


In allen Datenbanken alle Tabellen optimieren (optimize):

mysqlcheck -p --all-databases --optimize

MySQL alle Tabellen checken und reparieren lassen

Hallo, gerade beim Neustart kommt es gerne mal vor, das sich ein paar Tabellen verabschieden und man es nicht merkt. MySQL checkt das zwar selber nach, aber irgendwie funktioniert das nicht immer. Daher am besten nochmal den Befehl durch laufen lassen, damit man auf der sicheren Seite ist.
<code>mysqlcheck -u root -p --auto-repair --check --optimize --all-databases</code>

Deprecated: Assigning the return value of new by reference is deprecated in XXXX on line XXXX

Hallo, gestern Sprang mir der Fehler in den Logs entgegen:
<code>Deprecated: Assigning the return value of new by reference is deprecated in XXXX on line XXXX</code>


Diesem ist leicht Abhilfe zu leisten. Meistens hängt das mit einem Aufruf einer Klasse zusammen, welche mit $t =& new c_template; gestartet wird. Ihr müsst einfach nur das & entfernen und schon ist alles wieder gut 🙂

php5 Klassen in php4

Hallo, hab heute einen Hübschen Error bekommen bei der Installation eines Scriptes:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'

Dachte erstmal an ein paar Fehler im Script und hab alles gut durchsucht, aber nichts in den Angegebenen Zeilen gefunden. Nach etwas rumgooglen war die Lösung schnell gefunden. Der Webserver hat nur php4 gehabt und das Script benötigt php5. Jetzt war das Relativ einfach zu berichtigen. So sah die angebene Line vorher aus:
<code>	public $found_stuff=false;</code>


php4 kannte die Bezeichnung public noch nicht und natürlich auch nicht private. Das wurde erst in php5 eingeführt und muss daher berichtigt werden. Aus public und private am Anfang der Klasse macht Ihr einfach var. Hier das Beispiel:
<code>	var $found_stuff=false;</code>


Ganz wichtig: Nicht einfach alles ersetzten. Am besten sich stück für stück vorarbeiten, sonst geht das Script nachher auch nicht 🙂

Date Variablen und gleichzeitig Text

Hallo, ich benutze eigentlich immer meine Standard Funktionen um das Englische Dateformat ins Deutsche zu bekommen. Das ganze sieht natürlich nicht so toll aus, weil ein String in dem Format "20.01.2011 12:13:45" sehr Clean aussieht. Da fehlt mir persönlich etwas Text und ausserdem gibt es nur wenige Seiten, wo ich eine Sekundenangabe als Sinnvoll erachte.  Weiterlesen