MySQL-Version und Anbindung

Hallo,

nach den ersten Gehversuchen bin ich zu dem Schluss gekommen, dass es einfacher wäre, mit einer SQL-DB zu arbeiten. Leider bin ich aus den Forenbeiträgen nur bedingt schlau geworden. Ich habe das Gesamtpaket EasyPHP (PHP 5.3.6, MySQL 5.0.8) installiert und die beiden DLLs in das ext bzw. Hauptverzeichnis kopiert, aber wie zu erwarten war, wurde die SQL-DLL wegen Versionsinkompatibilität nicht geladen. Sicher nützt es auch nichts, einfach nur eine passende DLL zu kopieren, da diese ja dann zum Rest von MySQL nicht passt.
Kann mir jemand sagen, welche Version derzeit zu IP Symcon passt und wo ich die finde oder ob ich doch die von EasyPHP benutzen kann ?

Die MySQL-Version ist relativ egal, sollte halt schon eine Version 5.x sein.

Wichtig ist die passenden php_mysql.dll, diese muss zur PHP-Version von IPS passen. In unserem Fall die 5.3.1

danke für die schnelle Antwort - das heißt, ich kann durchaus die MySQL-Version von EasyPHP benutzen und muss nur eine passende DLL in das ext-Verzeichnis kopieren ?

…habe mal ein Connect-Versuch übernommen, bekomme aber leider ein Timeout
bei diesem Befehl:

$dbh=mysql_connect(„127.0.0.1:8888“, „root@ölocalhost“, „“, „ips_meg“);

MySQL läuft über den Port 8888 und der Benutzer ist root ohne Passwort - was bedeutet eigtl. ips_meg ?

Am besten stöberst Du mal auf der PHP-Referenz.

PHP: mysql_connect - Manual

Der Standard-Connect zu einer DB läuft nach dem Schema


 $dblink = mysql_connect($MySQLHost, $username, $password) or die("Keine Verbindung möglich!");
 mysql_select_db("Name_der_Datenbank") or die("Auswahl der Datenbank fehlgeschlagen");

Der Standardport von MySQL ist eigentlich 3306 aber wenn es dein Paket nach 8888 verbogen hat so soll das auch OK sein.

Am besten testest Du erst einmal mit einem grafischen Frontend ob die DB wirklich läuft.

unverzichbar sollte weiterhin ein phpMyAdmin installiert sein …

Damit lässt sich unendlich viel einfacher mit den Datenbank hantieren

Gruß,

ernie

mein String sieht so aus:

mysql_connect('localhost','root','*****'); //Verbindungsaufbau zum Server auf dem die DB läuft 
mysql_select_db('movedb'); //Auswahl der DB 
mysql_set_charset('utf8');

Bei dir steht ölocalhost ??

loerdy

so, Dank eurer Tipps habe ich es nun geschafft, MySQL und IPSymcon miteinander kommunizieren zu lassen. Jetzt habe ich doch noch eine Frage. In dem unteren Script muss ich an 2 Stellen die (int)-Funktion benutzen, obwohl alle Felder in der Datenbank als INT definiert sind und an den anderen Stellen funktioniert das auch. Hat jemand eine Ahnung, an was das liegen könnte ?

<?

include "dbConnect.php";

$Bezeichnung = "Schlafzimmer links";

$result = mysql_query("select Position, Geoeffnet_Setzen, Blind, Geschlossen_Setzen, Letzte_Aktion, Laufzeit_Schliessen from Rollladen where Bezeichnung ='".$Bezeichnung."'");

$row = mysql_fetch_array($result);

SetValueString("{$row["Position"]}", "schließt"); // Positionsvariable setzen
IPS_SetScriptTimer("{$row["Geoeffnet_Setzen"]}", 0);  //Timer löschen

HM_WriteValueFloat((int)"{$row["Blind"]}" , "LEVEL", 1.0); // herunterfahren
IPS_SetScriptTimer("{$row["Geschlossen_Setzen"]}",(int) "{$row["Laufzeit_Schliessen"]}" );  //Rollladen Position geschlossen setzen

IPS_RunScriptEx(34446 /*[Allgemeine Scripte\Letzte Aktion]*/,Array("GID" => "{$row["Letzte_Aktion"]}"));

?>