Typically you wouldn't try and double up like this, you'd prepare your statement once and run it twice with different values. I'm not a PHP coder so I borrowed from GMB's post:
$stmt20 = $conexao->prepare("
INSERT INTO esc_usuarios_pgtoparcelas (parcela_codigo_plano, parcela_mes, parcela_valorBonificacao, parcela_situacao)
VALUES
(LAST_INSERT_ID(), :m, :zero, :parcela_situacao_prog)
");
$stmt20->execute(array(
:m => $m1,
:zero => $zero,
:parcela_situacao_prog => $parcela_situacao_prog
));
$stmt20->execute(array(
:m => $m2,
:zero => $zero,
:parcela_situacao_prog => $parcela_situacao_prog
));
If you had 1000 values to insert, you'd prepare the statement once and execute it 1000 times (in a loop)..
$stmt20 = $conexao->prepare("
INSERT INTO esc_usuarios_pgtoparcelas (parcela_codigo_plano, parcela_mes, parcela_valorBonificacao, parcela_situacao)
VALUES
(LAST_INSERT_ID(), :m, :zero, :parcela_situacao_prog)
");
for ($x = 0; $x <= 1000; $x++) {
$stmt20->execute(array(
:m => $array_of_m[$x],
:zero => $zero,
:parcela_situacao_prog => $parcela_situacao_prog
));
}
Digging around in the php help docs for mysqli, I guess the code for your situation might be more like:
$stmt20 = $conexao->prepare("
INSERT INTO esc_usuarios_pgtoparcelas (parcela_codigo_plano, parcela_mes, parcela_valorBonificacao, parcela_situacao)
VALUES
(LAST_INSERT_ID(), ?, ?, ?)
");
$stmt20->bind_param('sdssds', $m, $zero, $parcela_situacao_prog);
for ($x = 0; $x <= 1000; $x++) {
$m = $array_of_m[$x];
$stmt20->execute();
}
Chiefly I'm trying to get across this notion that you set things up once, then jsut change the values and repeatedly call execute..
As notd, i'm not a php coder.. I referenced this: PHP/mysql: mysqli prepared statement insert same value multiple times within for loop