Closed globeFrEak closed 8 years ago
Sehr gute Arbeit, vielen Dank :+1:
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
Ja stimmt, habe ich geändert
Danke
https://github.com/PHP-Fusion-GERMANY/PHP-Fusion/blob/develop/administration/db_backup.php
enthält noch mysql funktionen
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
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.
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
Wenn ich das richtig gelesen habe, dann passiert das beim Restore?
Was steht denn in der Datei zu den Smileys?
ja genau beim Restore.
hier die Datei: backup.txt
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.
so geht es - ich musste ein wenig in den aktuellen php-fusion fork schauen :disappointed:
Ist damit die Datenbank umgestellt?
Von meiner Seite ja, ich denke ich habe alle MySQL Zeilen umgeschrieben
Also wenn sich dann niemand mehr dazu meldet dann werde ich am Montag, den 4.7.2016 mergen.
Vielen Dank für deine Arbeit :+1: