Я хочу N одинаковых строк для базы данных MySQL на основе количества из веб-формы В настоящий момент скрипт вставки добавляет только одну строку за раз («1» - это значение по умолчанию для этого входа количество)Вставка нескольких идентичных строк в mysql DB на основе количества
Вот этот скрипт:
<?php
require 'connect.php';
// define variables and set to empty values
$cosmInOut_name = $cosmInOut_dateIn = $cosmInOut_expire = $cosmInOut_priceIn = $cosmInOut_4sale = $cosmInOut_dateOut = $cosmInOut_qtyOut = $cosmInOut_priceOut = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$cosmInOut_name = test_input($_POST["cosmInOut_name"]);
$cosmInOut_dateIn = test_input($_POST["cosmInOut_dateIn"]);
$cosmInOut_qtyIn = test_input($_POST["cosmInOut_qtyIn"]);
$cosmInOut_expire = test_input($_POST["cosmInOut_expire"]);
$cosmInOut_priceIn = test_input($_POST["cosmInOut_priceIn"]);
$cosmInOut_4sale = test_input($_POST["cosmInOut_4sale"]);
$cosmInOut_dateOut = test_input($_POST["cosmInOut_dateOut"]);
$cosmInOut_qtyOut = test_input($_POST["cosmInOut_qtyOut"]);
$cosmInOut_priceOut = test_input($_POST["cosmInOut_priceOut"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$inserted = 0;
while ($cosmInOut_qtyIn > $inserted) {
$sql = "INSERT INTO cosmInOut (cosmInOut_name, cosmInOut_dateIn, cosmInOut_expire, cosmInOut_priceIn, cosmInOut_4sale, cosmInOut_dateOut, cosmInOut_qtyOut, cosmInOut_priceOut)" .
"VALUES('{$cosmInOut_name}', '{$cosmInOut_dateIn}', '{$cosmInOut_expire}', '{$cosmInOut_priceIn}', '{$cosmInOut_4sale}', '{$cosmInOut_dateOut}', '{$cosmInOut_qtyOut}', '{$cosmInOut_priceOut}')";
$inserted++;
}
if ($conn->query($sql) === TRUE) {
include('../head.php');
echo '
<script> some script</script>
';
include('../footer.php');
} else {
echo 'Error' . $conn->error;
}
$conn->close();
?>
Очевидно, что моя функция пока не работает. Как я могу это исправить? Спасибо
Неа, С вашей кусок кода, который я все еще получаю 1 строка вставляется ... –
Вы проверили свой окончательный строку запроса - это должно быть в формате _insert INTO имя_таблицы (FLD1, fld2, .. .) VALUES ('val1', 'val2', ...), ('val1', 'val2', ...), ('val1', 'val2', ...), ...._ : проверьте документацию https://dev.mysql.com/doc/refman/5.5/en/insert.html. Я также отмечаю, что вы говорите, что 1 является значением по умолчанию для ввода количества - вы проверили, какое значение передается. – PaulF
hmm. Это работает в конце концов :) Спасибо! –