PHP-Fusion-GERMANY / PHP-Fusion

Vom deutschen Team weiterentwickelter Fork
http://phpfusion-deutschland.de
6 stars 3 forks source link

PDO #19

Closed globeFrEak closed 8 years ago

globeFrEak commented 8 years ago
iPaat commented 8 years ago

Sehr gute Arbeit, vielen Dank :+1:

Webmeteor commented 8 years ago

Alle Dateien, wo ein INPUT Query vorkommt müssen nun noch überprüft werden, wegen mysql_insert_id, da diese Funktion ja nicht mehr funktionieren wird.

Am 27.06.2016 um 20:44 schrieb Patrick:

Sehr gute Arbeit, vielen Dank 👍

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/PHP-Fusion-GERMANY/PHP-Fusion/pull/19#issuecomment-228837723, or mute the thread https://github.com/notifications/unsubscribe/AMRmIUotQnx8E6CDvhx0b00dRvOU4JRNks5qQBongaJpZM4I_Yl9.


Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. https://www.avast.com/antivirus

globeFrEak commented 8 years ago

Ja stimmt, habe ich geändert

Danke

iPaat commented 8 years ago

https://github.com/PHP-Fusion-GERMANY/PHP-Fusion/blob/develop/administration/db_backup.php

enthält noch mysql funktionen

globeFrEak commented 8 years ago

Ich brauche Hilfe bei mysql_unbuffered_query($result);, dazu müsste man bei PDO ein extra Attribute bei der Verbindung setzen - wie machen wir das am besten? https://github.com/PHP-Fusion-GERMANY/PHP-Fusion/pull/19/commits/eaac73d129bfa07af63252c0ca223b7af51b3d6e


Ansonsten habe ich noch alle mysql_close statements ersetzt und die DB-Verbindung in $db_connect gepackt - müssen wir die Verbindung schließen bei PDO?! https://github.com/PHP-Fusion-GERMANY/PHP-Fusion/pull/19/commits/afd9043dcfc341b7eb1d6fd7d924cdef0cddfb58

iPaat commented 8 years ago

Entweder 2 Funktionen:

function dbSetUnbuffered() {
    global $pdo;
    $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
}

function dbRevertUnbuffered() {
    global $pdo;
    $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
}

Dann müsste der Code lauten:

dbSetUnbuffered();
dbquery($result);
dbRevertUnbuffered();

Oder in einer Funktion:

function dbUnbufferedQuery($query, $execute = array()) {
    global $pdo;

    $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
    $ret = dbquery($query, $execute = array());
    $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

    return $ret;
}

Dann müsste der Code lauten:

dbUnbufferedQuery($result);

Die Verbindung wird geschlossen wenn man $pdo = null; setzt.

globeFrEak commented 8 years ago

wirft aber noch eine Exception:

Hier scheint was mit dem PREG nicht zu stimmen, leider finde ich nicht warum das nun auf einmal falsch sein soll.

Bsp: var_dump von result = string(126) " # # Table Data for fusion_smileys # INSERT INTO fusion_smileys (,, ,) VALUES ('1', ':)', 'smile.gif', 'Smile')"

Das ist kein korrekter query in Zeile 167 db_backup.php

iPaat commented 8 years ago

Wenn ich das richtig gelesen habe, dann passiert das beim Restore?

Was steht denn in der Datei zu den Smileys?

globeFrEak commented 8 years ago

ja genau beim Restore.

hier die Datei: backup.txt

iPaat commented 8 years ago

Ich glaube der Fehler liegt hier: https://github.com/globeFrEak/PHP-Fusion/blob/51cea07603f21ccb6be2baf440850303b0401516/administration/db_backup.php#L56-64

speziell in: $field_name['name'] diese Variable ist leer.

globeFrEak commented 8 years ago

so geht es - ich musste ein wenig in den aktuellen php-fusion fork schauen :disappointed:

iPaat commented 8 years ago

Ist damit die Datenbank umgestellt?

globeFrEak commented 8 years ago

Von meiner Seite ja, ich denke ich habe alle MySQL Zeilen umgeschrieben

iPaat commented 8 years ago

Also wenn sich dann niemand mehr dazu meldet dann werde ich am Montag, den 4.7.2016 mergen.

iPaat commented 8 years ago

Vielen Dank für deine Arbeit :+1: