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.
