PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQL/MySQLi (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Speichern in der Datenbank funktioniert nicht (http://www.selfphp.de/forum/showthread.php?t=26113)

Tigro 28.02.2018 13:47:04

Speichern in der Datenbank funktioniert nicht
 
Hallo,

ich überarbeite momentan ein online Schulungsprogram eines Energieversorgers für ein Seminar. Das Original ist von 2007 und dementsprechend veraltet.
Details zum neuen Server: Apache Version 2.4.6, PHP Version 7.0.19, MySQL (MariaDB) 5.5.52
Ich habe an einer Stelle große Schiwerigkeiten, die eingegebene Daten in der Datenbank speichern zu lassen: in einer Maske werden Zahlenwerte in textfields eingetragen, die anschließend in die Datenbank, zum späteren Vergleich, gespeichert werden sollen. Dieses Speichern funktioniert nicht. Die eigetragenen Werte sollen gespeichert werden, sobald man auf den weiter Button am Ende der Seite klickt.
Ich habe zwei Funktionen ausfindig gemacht, die zusammen das Speichern übernehmen sollen:

PHP-Code:

function storeModuleValues$moduleid$userid$values$table=TBL_MODULE_VALUES) {
        
$q "DELETE FROM " $table " WHERE userid='".addslashes$userid )."' AND moduleid='".addslashes$moduleid )."';";
         
mysqli_query($this->connection$q);
        
         foreach( 
$values as $key=>$element ) {
             
$q "INSERT INTO " $table "(moduleid,userid,modulekey,modulevalue) VALUES('".addslashes$moduleid )."','".addslashes$userid )."','".addslashes$key )."','".addslashes$values[$key] )."');";
            
            
$erg mysqli_query($this->connection$q);
            
         }
         return 
true;
     } 


PHP-Code:

case "storeVerbraucher":
                
//only append/replace the new values
                
$values $database->getModuleValuesMODULE_VERBRAUCHER$session->username );
                
$userid null;
                foreach( 
$_POST as $key=>$element ) {
                    if( 
$key=="user" ) {
                        
$userid $element;
                        continue;
                    }
                    
$values[$key] = $element;
                } 


Die erste Funktion storeModuleValues ist in einer Datei (database.php) enthalten, die alle Funktionen in Zusammenhang mit der Datenbank enthält. Diese ist verlinkt mit der Datei (ajaxhandler.php), die die zweite gezeigte Funktion enthält und weiter mit der Datei (_verbraucher.php) die die grafische Oberfläche erstellt, in der die Daten eigetragen werden.

Die Verbindung zur Datenbank ist richtig hergestellt, das habe ich mehrfach getestet. Außerdem funktioniert es, gespeicherte Daten auszulesen und anzeigen zu lassen.

Ich wäre über Tipps oder Anregungen dankbar, die helfen, dass die eingegebene Daten endlich in meiner Datenbank gespeichert werden. Gegebenenfalls kann ich die kompletten Datein, in anonymisierter Form, zur Verfügung stellen, jedoch nicht die URL (nur firmenintern erreichbar).
Besten Dank im Voraus!

chorn 28.02.2018 14:09:28

AW: Speichern in der Datenbank funktioniert nicht
 
PHP-Code:

mysqli_report(MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT); 


vt1816 28.02.2018 16:22:27

AW: Speichern in der Datenbank funktioniert nicht
 
Hallo und willkommen hier im Forum.

Auch hier wieder die typischen notwendigen Nachfragen:
  1. Was funktioniert nicht?
  2. Fehleranzeige ist eingeschaltet? Schalte sie ggf. höher.
  3. Welche Fehlermeldung erhältst Du?
  4. Was brachte Dein Debugging (Fehlersuche)?
  5. Wird die Funktion storeModuleValues überhaupt aufgerufen?
  6. Kommen die von Dir gewünschten Daten in der Funktion storeModuleValues an?
  7. ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:13:35 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.