PHP を使用して mysql の挿入ステートメントをフォーマットしようとしていますsprintf
が、そうするとレコード列0
ではなくa が挿入されます。書式設定NULL
にまだ使用している間に、これを回避する方法を探しています:sprintf
$query = sprintf("INSERT INTO `efix_lines`
(EventID, Serial, SerialRequired, PartNumber,
MfgRev, DefectID, CircuitReference, CreatorID,
CreatorName, Created)
VALUES (%d, '%s', %d, '%s', '%s', %d, '%s', %d, '%s', '%s')",
$oSubmitData['EventID'],
EVL($oSubmitData['Serial'], NULL),
EVL($oSubmitData['SerialRequired'], NULL),
EVL($oSubmitData['PartNumber'], NULL),
EVL($oSubmitData['MfgRev'], NULL),
EVL($oSubmitData['DefectID'], NULL),
EVL($oSubmitData['CircuitReference'], NULL),
$oSubmitData['CreatorID'],
$oSubmitData['CreatorName'],
$pDate );
//I made this quick EVL function to help with shorthand ternary operators within my actual syntax
function EVL( $var1, $var2 ){
return ( empty( $var1 ) ? $var2 : $var1 );
};
列が空であるため 、DefectID
列を挿入しようとすると問題が発生しています。指示どおりに整数を挿入したいので、ではなく挿入します。私に何ができる?NULL
sprintf
%d
0
NULL