Maria DB - zwei Versionen, php Script soll auf eine bestimmte zugreifen.

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

bernd_

Benutzer
Registriert
29. Apr. 2014
Beiträge
763
Reaktionspunkte
7
Punkte
38
Hallo Forum,

Ich habe MariaDB 10 und 5 im Einsatz,
bisher greift ein bestimmtes php Script auf Version 5 zu,
ich habe die DB nun auf Version 10 kopiert und hätte nun gerne dass dieses Script
auch auf die Version 10 zugreift, Standartmässig scheint hier aber irgendwo 5
eingestellt zu sein..
Der Connect String war bisher: mysql_connect("localhost", "user","password")
Ich denke statt localhost müsste hier dann etwas anderes stehen?

Gruss Bernd
 
Du mußt den Port 3307 für MariaDB 10 angeben!
 
Hallo Arni,

ok, aber das hatte ich ja bisher auch nicht und es hat ja bisher funktioniert, funktioniert auch jetzt noch, aber connected eben auf die DB mit Version 5..
sprich schreibt in die Datenbank dort.

Gruss Bernd
 
Hallo,
MariaDB5 lauscht auf dem Standardport 3306, MariaDB10 lauscht auf 3307. Gibst Du keinen Port an so wird der Standardport angesprochen, eben MariaDB5.

Gruß Götz
 
Hallo zusammen,
Verstehe.. herzlichen Dank für den Tip!

<?php

$port = 3307;
$link = mysql_connect("localhost", "user","password", $port) or die ("Keine Verbindung moeglich");
mysql_select_db("testdb") or die ("Die Datenbank existiert nicht");...

Dennoch immer noch connect auf die alte DB...
Ebenso mit:
mysql_connect("localhost:3307", ...... ohne port - Variable.

liegt es am connect string oder der Freigabe des Ports auf der DS? Oder muss der DBName noch in den connect String vor der Portangabe?

Thx, Bernd
 
Hi bernd_

Versuch es, den Port direkt hinter den Hostnamen zu konkatinieren, nachfolgendes Beispiel habe ich in einer eigenen Klasse:

function __construct() {
$this->handle = new mysqli(
$this->host.':'.$this->port,
$this->user,
$this->pswd,
$this->db);

if ($this->handle->connect_error) {
echo 'Connection to database failed ('.$this->handle->connect_error.')!';
die;
}
}

btw: mysql_connect is depreciated und sollte nicht mehr verwendet werden.
 
admin@DiskStation:/volume1/web$ php checkmysqli.php
We don't have mysqli!!!admin@DiskStation:/volume1/web$
 
Wie kann ich mysqli auf der DS installieren?
Was genau ist mysli, eine Klasse?
 
Siehe meine PN
 
Funktioniert wieder!

Vorgehen:
Mysql 5 DB Einträge exportiert und in Mysql 10 DB importiert.

siehe auch:

http://www.synology-forum.de/showthread.html?91880-Datenbank-MariaDB-5-5-nach-MariaDB-10-umziehen

/var/packages/MariaDB10/etc/ mit vi my.cnf als root erstellt:

[client]
port = 3306

[mysqld]
port = 3306

Mysql 5 deinstalliert.

dbconn.php
<?php
$db = mysqli_connect("localhost:3306", "user", "meinpass", "dbname");
if(!$db)
{
exit("Verbindungsfehler: ".mysqli_connect_error());
}
?>
angelegt.


Im php Script dann:

include("dbconnect.php"); benutzt

und die alten Anweisungen

http://php.net/manual/de/function.mysql-query.php
http://de2.php.net/manual/de/function.mysql-fetch-array.php
ersetzt durch:

durch diese ersetzt:
mysqli_query
mysqli_fetch_object
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat