ich möchte die Anbindung meiner IP-Symcon-Instanz an eine MySQL-Datenbank realisieren. Als Grundlage habe ich den Beitrag http://www.ip-symcon.de/forum/showthread.php?t=144 verwendet. Leider ist es nicht so einfach wie dort beschrieben.
Ich habe eine php.ini erstellt
…
extension_dir=c:\Programme\IP-Symcon\modules
extension=php_mysql.dll
…
und die Datei „php_mysql.dll“ aus der aktuellen „php-5.0.4-Win32“ in das Verzeichniss „modules“ kopiert.
Nach dem Starten von IP-SYMCON erhalte ich die Fehlermeldung „LIBMYSQL.dll nicht gefunden…“. Also habe ich auch diese Datei aus der PHP-Distribution in das IP-SYMCON-Verzeichnis kopiert, da ich nur dort keine Fehlermeldung beim Starten bekomme.
Leider funktioniert dann ein Aufruf der entsprechenden Funktion auch nicht „Call to undefined function pg_connect()…“.
In dem, bei jedem Start angelegten, Log-File fand ich noch folgenden Eintrag:
… | MESSAGE | ModuleLoader | >Error Loading: php_mysql.dll …
Hat irgend jemand eine fuktionierende Anbindung an eine MySQL-DB oder eine Idee warum es bei mir nicht funkioniert ?
pg_connect ist so viel ich weiss der Befehl um mit einer Postgredatenbank zu verbinden. Zu MySql lautet der Befehl „mysql_connect“.
Lege Dir mein Script bei. Das läuft allerdings mit MySqli. Dazu musst du in der php.ini die dll mysqli angeben und diese auch in das Verzeichnis kopieren.
Pruefung, ob mysql eingebunden ist:
es darf keine Fehlermeldung beim Start von IPS erscheinen, anderenfalls hast Du eine falsche PHP Version benutzt. Die 5.1 Version funktioniert uebrigens nicht!.
einfach ein Script anlegen und diesen Inhalt rein:
<?
phpinfo();
?>
im Output kannst Du dann ueberpruefen, ob mysql richtig eingebunden ist.
danach habe ich von der version php-5.0.4-win32 aus dem zip archiv die dateien libmysql.dll und php_mysql.dll ins ipsymcon verzeichnis kopiert und natürlich ip symcon neugestartet. sollte doch so alles richig sein, oder?
woran kann das liegen?
wenn ich die seite aber im internet auf meine webpräsenz lade, dann funktioniert sie einwandfrei.
connection.php:
<?php
$linkID = mysql_connect($server,$username,$password);
if (!$linkID) die(„kein verbindung“);
if (!mysql_select_db($database, $linkID)) die(„fehler“);
?>
komisch, wie gesagt, wenn ich die seiten einfach hochlade auf meine internetseite, dann klappt das einwandfrei. wo kann der fehler sein und wie bekomme ich den behoben?
Notice: Use of undefined constant pid - assumed ‚pid‘ in line 93
die angebene Zeile 93 anzugeben würde auch schon helfen.
Der Fehlermeldung nach hast Du evtl irgendwo „pid“ statt „$pid“ geschrieben.
Das ist übrigens nur eine Warnung, aber wenn Du dort Werte erwartest, wird da nichts ankommen…
wie tommi schon schrieb, Du verwendest in den Arrays Konstanten, keine Variablen. Desweiteren ist date auch vorbelegt, wuerde ich also niemals als Variable verwenden.
Ich hoffe, das hilft Dir als Ansatzpunkt zu Deiner Fehlersuche. Es ist auf jeden Fall eine fehlerhafte PHP Programmierung Deinerseits, hat also nichts mit irgendwelchen libs oder so zu tun.