php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2012, 23:07  
axx
Gast
 
Beiträge: n/a
Standard Debuging mysqli prepare / bind_param / execute

Hallo,

ich versuche gerade herauszufinden, warum ein Datensatz nicht in der DB gespeichert wird und vor allem, warum ich keine Fehlermeldung bekomme.

Hintergrund zum Projekt:
Es sollen Maße eingegeben werden und die Fertigungsmaße der Einzelteile berechnet werden.

php.ini
Code:
error_reporting = E_ALL
display_errors = on
mysql erstellt eine Logdatei und meine Abfragen tauchen dort auf. Viele erfolgreiche Abfragen und mein folgendes "Problemkind"
Code:
43 Connect	user@localhost on testDB
43 Query	SET NAMES utf8
43 Prepare	INSERT INTO tblSimplex SET
kunde = ?, 
bauvorhaben = ?, 
lieferArt_id = (SELECT idtblLieferarten FROM vLieferarten WHERE bez = ?),
auslieferDatum = ?,
anzahl = ?, 
breite = ?, 
hoehe = ?, 
antrieb_id = (SELECT idtblAntriebe FROM vAntriebe WHERE bez = ?), 
antriebsseite_id = (SELECT idtblAntriebsseiten FROM vAntriebsseiten WHERE bez = ?), 
kastenfarbe_id = (SELECT idtblKastenfarben FROM vKastenfarben WHERE bez = ?),
fSchiene_id = (SELECT idtblFSchienen FROM vFSchienen WHERE bez = ?),
wicklerart_id = (SELECT idtblWicklerarten FROM vWicklerarten WHERE bez = ?), 
wicklerfarbe_id = (SELECT idtblWicklerfarben FROM vWicklerfarben WHERE bez = ?), 
extras = ?, 
gazeBreite = ?, 
gazeHoehe = ?, 
gazeAbstandLi = ?, 
gazeAbstandRe = ?, 
welleLaenge = ?, 
gazenstabLaenge = ?, 
gewichtschieneLaenge = ?, 
fuehrungsschieneLaenge = ?, 
buerstenleisteLaenge = ?
43 Close stmt	
43 Quit
Anstatt des "Close stmt" hätte ich doch gerne ein "execute ..."

PHP-Code:
        if ($db->connect_errno) {
            echo 
$db->connect_error;
        } else {
            
$stmt $db->prepare$sql );
            
// bind_param mit dynamischer Parameteranzahl
            // - entspricht $stmt->bind_param (P1, [Pn])
            
$wheretypearray = array($sqlTypestring); //Vorber. f. array_merge
            
call_user_func_array(array($stmt'bind_param'),
                                 
array_merge$wheretypearray$sqlValues )
                                );
            
$stmt->execute();
            
$newID $stmt->insert_id;
            
$stmt->close();
        } 
Variableninhalte:
$sqlTypestring bzw. $wheretypearray:
Code:
"ssssiiisssssssiissiiiis"
$sqlValues:
Code:
test
"testSimplex Berechnung"
"versand"
"2013-02-01"
2
500
500
"Motor"
"links"
"braun (SF)"
"ohne Schenkel"
"kein"
"kein"
"Extras"
438
700
"--"
"--"
449
438
390
450
" "
Dass die Abfrage keinen Datensatz anlegt ist das Eine, aber mich quält vor allem die Frage, warum ich nirgendwo eine Fehlermeldung erhalte.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.01.2012, 23:31  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
aber mich quält vor allem die Frage, warum ich nirgendwo eine Fehlermeldung erhalte.
Weil Du keine Fehler auswertest vielleicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 20.01.2012, 08:09  
axx
Gast
 
Beiträge: n/a
Standard

Ehrlich: Vielen Dank für den Schubser!
Ich hatte mich so in der Suche in den Logfiles von php und mysql verrannt, dass ich auf eine so einfache Idee nicht mehr gekommen bin.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysqli prepare probleme babyhase PHP Tipps 2010 9 10.08.2010 15:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mysqli sql nach bind_param anzeigen, bind_param mit @, bind_param();, php mysql prepare, php mysql prepare where in, execute php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum