. .
pragmaMx Support Forum 26 Mai 2012, 01:12:30 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Wie Daten vom Modul auf eine externe Datenbank leiten?  (Gelesen 1789 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
reddragon
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.028


WWW
« am: 29 August 2011, 21:54:33 »

HI,

ich habe ein kleines Problem:

Ich möchte Werte aus einem Modul unter bestimmten Bedingungen in eine externe Datenbank kopieren.
Leider bekomme ich es nur hin, dass die Daten in eine Tabelle aus der offizielle DB eingetragen werden:
Code: [Select]  
if ($Bedingung ==! 0) {
sql_query("insert into " . $prefix . "_TabellenName values ('Wert2', 'Wert2', '.........

Ich habe hier irgendwie versucht, die neuen Datenbank-Kontaktdaten einzubauen, aber leider springt er in dieser Anweisung nicht um. Weiß jemand, woran es liegt?
Code: [Select]  
if ($Bedingung ==! 0) {
$link = mysql_connect('der-host.de', 'Datenbanknutzer', 'Passwort');
if (!$link) {
    die('keine Verbindung möglich: ' . mysql_error());
}
$db_selected = mysql_select_db('Datenbank-name', $link);
if (!$db_selected) {
    die ('Datenbank-name' . mysql_error());
}

sql_query("insert into Tabellenname values ('Wert2', 'Wert2', '.........



Als Fehlermeldung erhalte ich das hier:


Zitat

Error sql_query():
qry: insert into Tabellenname values ('Wert1', '')
descr: ( mysql 0 )

details:

cmd: sql_query(insert into Tabellenname values ('Wert1', '...),
cmd: SubmitPost(insert into Tabellenname values ('Wert1', '...),
cmd: include_once(insert into Tabellenname values ('Wert1', '...),
Gespeichert

meine Seite -->http://mbc-clp.de/ <--- Smiley
anmShinichi
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 367


WWW
« Antworten #1 am: 30 August 2011, 16:33:48 »

Was mir nur auffällt...

der connect findet mit mysql_connect und mysql_selectdb statt, sprich die original PHP-mysql-Funktionen. Die eigentliche Funktion für das insert findet aber per sql_query statt, sprich die pmx_funktion.

Ich würde es mit mysql_query versuchen, vielleicht hilft das ja.

Generell hebelt es aber die Schutzfunktionen von PMX aus, die angeboten werden. Mysql bietet doch mittlerweile Schattenkopien auf externe Mysql-Datenbanken an. Aber nur nebenbei Smiley

Viele Grüße
Ronny

anm
Gespeichert

animenmore e.V. - der Verein: Mit PMX 1.12 auf www.myanm.de
lausbub
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 641

lausbub


WWW
« Antworten #2 am: 30 August 2011, 21:22:41 »

danke hab es hinbekommen.

Also mein System hat eine onlinedatenbank mit Userverwaltung und zusätzlich eine Datenbank auf meinen _HomeServer für die besonderen Daten.

Perfekt.

Gespeichert

PHP Version: 5.2.11
MySql Version: 5.0.51a
Server-Version: Apache/2.2.8 (Linux/SUSE)
Pragma 1.12
reddragon
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.028


WWW
« Antworten #3 am: 31 August 2011, 18:02:19 »

Hallo zusammen,

ich habe es nun auch hin bekommen Smiley

besten Dank  thumbup


Aber inwiefern hebelt es welche Schutzfunktionen aus?
Solange die Bedingung nicht erfüllt ist, dürfte sich nichts vom Code-Ablauf ändern.
Sollte diese Bedingung erfüllt werden, dann denke ich, ist nur die externe DB in Gefahr, oder?


Anbei meine Lösung  biggrin

Code: [Select]  
if ($Bedingung ==! 0) {



    $externconnect = mysql_connect('Host', 'Datenbank-nuter', 'Passwort');
    if (!$externconnect) {
        die('keine Verbindung möglich: ' . mysql_error());
    }
    if ($externconnect) {
        echo 'Datenbank erreicht <br>';
    }
    $db_selected = mysql_select_db('Datenbank-name', $externconnect);
    if (!$db_selected) {
        die ('Datenbank-name' . mysql_error());
    }
    if ($db_selected) {
        echo 'Tabelle Gefunden <br>';
    }

    $sql="INSERT INTO Tabellenname (Wert1, Wert2, ....)
    VALUES
    ('Wert1','Wert2','','....')";

    if (!mysql_query($sql,$externconnect)){
        die('Error: ' . mysql_error());
    }

    echo "Datensatz ausgelagert";

    mysql_close($externconnect);


}


Gespeichert

meine Seite -->http://mbc-clp.de/ <--- Smiley
lausbub
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 641

lausbub


WWW
« Antworten #4 am: 31 August 2011, 18:45:27 »

die locale db sehe ich nicht in gefahr, da die einträge mit allen sicherheitsfuntionen und mit orginal mx functionen eingetragen werden.
lediglich werden die daten von einem bei mir local instalierten pragma abgeholt und per post dann entsprechend den pragma sicherheitsfunctionen wieder weiterverarbeitet und neu gespeichert
Gespeichert

PHP Version: 5.2.11
MySql Version: 5.0.51a
Server-Version: Apache/2.2.8 (Linux/SUSE)
Pragma 1.12
reddragon
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.028


WWW
« Antworten #5 am: 02 September 2011, 09:25:58 »

Wie hast du die Sicherheitsfunktionen in das Script eingebaut?
Gespeichert

meine Seite -->http://mbc-clp.de/ <--- Smiley
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML