php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-12-2015, 20:49
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard Datensätze werden wirr gespeichert (über spalten hinweg)

Guten Tag erst einmal.

Mein Serverscript speichert seit heute Mittag die Daten total wirr
in die Datenbank.

laut betreiber gab es letzten Mittwoch ein PHP update.

Die daten werden von einer gz Datei gezogen (mit Inhalt von json encoded arrays)

Hier die Screenshots:

(insert fail)
http://testshop.schuhtritt.de/db_insert_fail_1.jpg

(local insert - wie es sein sollte)
http://testshop.schuhtritt.de/db_insert_fail_2.jpg

hat jemand ein Tipp, woran dies liegen könnte?

Grüße
Mit Zitat antworten
  #2 (permalink)  
Alt 19-12-2015, 02:36
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Ohne Code und Testdaten wohl kaum.

Aber durchnummerierte Spalten deuten auf ein fehlerhaftes Datenbankdesign hin. Informier dich mal über Datenbanknormalisierung.
Mit Zitat antworten
  #3 (permalink)  
Alt 19-12-2015, 11:34
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von yumlin Beitrag anzeigen
Guten Tag erst einmal.

Mein Serverscript speichert seit heute Mittag die Daten total wirr
in die Datenbank.

laut betreiber gab es letzten Mittwoch ein PHP update.
Von welcher alten Version auf welche neue?

Die "Migration-Guides" für die kleineren Versions-Updates findest du hier: PHP: Appendices - Manual

Zitat:
Die daten werden von einer gz Datei gezogen (mit Inhalt von json encoded arrays)
Das Handbuch listet zu jeder Funktion entsprechende Änderungen bei Versions-Wechseln im Abschnitt "Changelog" auf. Bspw. für json_decode(): PHP: json_decode - Manual
Mit Zitat antworten
  #4 (permalink)  
Alt 19-12-2015, 12:07
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

Guten Tag,

es ist immer noch die eigentliche 5.4 version aktiv, da
wir das ja im backend bestimmen können.

Jedenfalls habe ich ganz einfachen mysqli insert Befehl
getestet, welcher auch nicht klappt.

Code:
<?php
require_once "../includes/connection_server_mysqli.php";


//require_once "../includes/connection_LexSql_MySqli.php";


// BEFORE ACTION - DELETA ALL SERVER DATA
    $db->query('truncate table oxarticles');

// STATIC DATA
        $oxbaseshop = 'oxbaseshop';
        $LEX_ID = '123456';

//QUERYS
    
    //VATER MIT VARIANTEN
    $sql_1 = 'INSERT INTO oxarticles 
                                            (OXID,OXSHOPID) 
                                            
                                            VALUES (?,?)';
                                            $eintrag_1 = $db->prepare( $sql_1 );
                                            $eintrag_1->bind_param( 'ss',
                                            
                                            $LEX_ID,$oxbaseshop);
    
$eintrag_1->execute();    
?>

Geändert von yumlin (19-12-2015 um 12:13 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 19-12-2015, 12:19
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Was heißt "nicht klappt"? Wie lautet die Fehlermeldung, die von der Datenbank zurückgegeben wird?
Mit Zitat antworten
  #6 (permalink)  
Alt 19-12-2015, 12:24
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

da wird keine fehlermeldung zurückgegeben.

der Datensatz wird schlicht nicht gespeichert.
ich versuche es mal mit eine schleife.
Mit Zitat antworten
  #7 (permalink)  
Alt 19-12-2015, 12:28
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von yumlin Beitrag anzeigen
da wird keine fehlermeldung zurückgegeben.

der Datensatz wird schlicht nicht gespeichert.
Dann gibt es eine Fehlermeldung, die du ignorierst.

Zitat:
Zitat von yumlin Beitrag anzeigen
ich versuche es mal mit eine schleife.
Wo ist denn da bitte der Zusammenhang? Mein Auto springt heute nicht an, also stell ich mal einen anderen Radiosender sein?
Mit Zitat antworten
  #8 (permalink)  
Alt 19-12-2015, 12:37
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

Das Grundproblem möchte ich auf den Grund gehen,
daher habe ich eine simple insert anweisung getestet.

auf dem localhost klappt es, so wie das ursprüngliche Skript auch, welches aber unübersichtlich ist.

Daher habe ich wie im geposteten Beispiel zu sehen alle Fehlerquellen ausgeschlossen, und ein simples insert Script verwendet, welches keine Fehler ausgibt, da es keine Fehler enthält.

Aber der Datensatz wird nicht gespeichert.

Das ist auch das eigentliche Problem.

Der Zusammenhang in einer Schleife liegt darin, das wenn mehrere Datensätze gespeichert werden sollen,
es tatsächlich zum insert kommt, nur aber wirr und durcheinander.

Meine Vermutung liegt darin, das es nicht an dem PHP Script liegt, sondern
am Server.

Geändert von yumlin (19-12-2015 um 12:43 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 19-12-2015, 12:43
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von yumlin Beitrag anzeigen
Daher habe ich wie im geposteten Beispiel zu sehen alle Fehlerquellen ausgeschlossen, und ein simples insert Script verwendet, welches keine Fehler ausgibt, da es keine Fehler enthält.

Aber der Datensatz wird nicht gespeichert.
Na wenn das kein Fehler ist, was dann?

Zitat:
Zitat von yumlin Beitrag anzeigen
Das ist auch das eigentliche Problem.

Meine Vermutung liegt darin, das es nicht an dem PHP Script liegt, sondern
am Server.
Das Problem ist, dass du Vermutungen anstellst statt einfach nachzuschauen, was wirklich passiert. Du überprüfst nicht, ob die Abfrage überhaupt erfolgreich war sondern vertraust einfach blind darauf, dass das schon so passen wird. execute() liefert einen Rückgabewert, wie lautet dieser? Und ist das error-Property im Statement-Objekt befüllt? Wenn ja, was steht da drin?
Mit Zitat antworten
  #10 (permalink)  
Alt 19-12-2015, 12:44
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

OK, ich werde die Rückgabewerte checken
Mit Zitat antworten
  #11 (permalink)  
Alt 19-12-2015, 12:51
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

OK, du meinst doch den Rückgabewert, wenn ein Fehler auftritt oder?

oder kann ich Rückgabewerte erzwingen.
Mit Zitat antworten
  #12 (permalink)  
Alt 19-12-2015, 12:55
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von yumlin Beitrag anzeigen
OK, du meinst doch den Rückgabewert, wenn ein Fehler auftritt oder?

oder kann ich Rückgabewerte erzwingen.
PHP: mysqli_stmt::execute - Manual
Mit Zitat antworten
  #13 (permalink)  
Alt 19-12-2015, 13:16
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

Code:
<?php
require_once "../includes/connection_server_mysqli.php";


//require_once "../includes/connection_LexSql_MySqli.php";


// BEFORE ACTION - DELETA ALL SERVER DATA
    $db->query('truncate table oxarticles');

// STATIC DATA
        $oxbaseshop = 'oxbaseshop';
        $LEX_ID = '123456';


    //VATER MIT VARIANTEN
 $stmt = mysqli_stmt_init($db);
    $sql_1 = "INSERT INTO oxarticles (OXID,OXSHOPID) VALUES (?,?)";
                                            

mysqli_stmt_prepare($stmt, $sql_1);
    mysqli_stmt_bind_param($stmt, "ss", $LEX_ID,$oxbaseshop);
    if(mysqli_stmt_execute($stmt))
    {
        mysqli_close($stmt);
    }
    
    print_r ($stmt);

?>
Habe es versucht - aus dem o.g. Code bekomme ich folgende Ausgabe.
Ist es das?

Code:
mysqli_stmt Object (     [affected_rows] => -1     [insert_id] => 0     [num_rows] => 0     [param_count] => 2     [field_count] => 0     [errno] => 1210     [error] => Incorrect arguments to mysqld_stmt_execute     [error_list] => Array         (             [0] => Array                 (                     [errno] => 1210                     [sqlstate] => HY000                     [error] => Incorrect arguments to mysqld_stmt_execute                 )          )      [sqlstate] => HY000     [id] => 1 )
Mit Zitat antworten
  #14 (permalink)  
Alt 19-12-2015, 13:33
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Warum verwendest du jetzt plötzlich die prozedurale Schreibweise? Bleib entweder bei objektorientiert oder verwende nur prozedural, aber vermische die Schreibweisen bitte nicht.

Zitat:
[error] => Incorrect arguments to mysqld_stmt_execute
Sicher, dass OXID ein String und kein Integer ist?

Bitte bemühe dich um eine einheitliche und lesbare Schreibweise von Variablen. Warum ist $LEX_ID groß, aber $oxbaseshop klein geschrieben? Und bitte nummeriere keine Variablen.
Mit Zitat antworten
  #15 (permalink)  
Alt 19-12-2015, 13:35
yumlin
 Registrierter Benutzer
Links : Onlinestatus : yumlin ist offline
Registriert seit: Dec 2015
Beiträge: 11
yumlin befindet sich auf einem aufstrebenden Ast
Standard

ja, ist nen string
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Query: Anzahl gleicher Datensätze über mehrer Spalten Rafterman SQL / Datenbanken 13 01-08-2007 13:14
VERGLEICH und UPDATE über 2 Tabellen hinweg oleson SQL / Datenbanken 0 29-08-2006 13:16
Vergabe einer Reihenfolge über mehrere Gruppen hinweg plastikbaum BRAINSTORMING PHP/SQL/HTML/JS/CSS 3 18-11-2005 13:40
Variablen über mehrere Seiten hinweg verwenden (Session) Berni Tutorials 0 12-03-2002 21:18
form target über frames hinweg erzwingen dirk HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 1 08-03-2002 14:59

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:09 Uhr.