Я упростил свою проблему до следующего кода:
$sql_abc = "CREATE TABLE $tbl_abc(
x INTEGER(255)
)
";
echo "About to execute $sql_abc";
if (mysqli_query($conn, $sql_abc)) {
echo "Table $sql_abccreated successfully<br>";
} else {
echo "Error creating table: " . mysqli_error($conn) . "<br>";
}
for ($x = 1; $x <= 10; $x++) {
$sql_abc = "INSERT INTO $tbl_abc VALUES ($x)";
}
if (mysqli_query($conn, $sql_abc)) {
echo "New records created successfully<br>";
} else {
echo "Error: " . $sql_abc. "<br>" . mysqli_error($conn);
}
Я пытаюсь получить 10 записей в таблице, каждая из которых увеличивается на единицу в поле «x».
Однако все, что я вижу, это:
Пожалуйста, порекомендуйте. Спасибо.
Не могли бы вы предложить изменить код, чтобы исправить это? $sql_abc = "INSERT INTO $tbl_abc VALUES ($x)";
сейчас не в цикле for ($x = 1; $x <= 10; $x++)
? Спасибо!
пожалуйста, поделитесь полным кодом, чтобы я мог исправить его для вас. Покажите, где вы выполняете строку запроса "INSERT INTO $tbl_abc VALUES ($x)"
?
Готово, добавил в пост. Спасибо.
Хорошей практикой будет обрабатывать ошибку подключения только один раз, когда вы впервые устанавливаете соединение с базой данных, вам не нужно проверять соединение каждый раз, когда вы выполняете запрос.
Вот как вы можете это сделать.
for ($x = 1; $x <= 10; $x++) {
$sql_abc = "INSERT INTO $tbl_abc VALUES ($x)";
//this query will execute for each value of $x
mysqli_query($conn, $sql_abc);
}
Большое спасибо. Я только начинаю работать с php и не знаю, как выполнять запросы!
Не беспокойтесь, просто найдите лучший способ обработки соединений с базой данных и изучите лучшие методы кодирования. Хорошего дня.
вам нужно поместить фактический оператор вставки в цикл for, поэтому каждый раз, когда он увеличивает
$x
, он также должен выполнять оператор вставки, прямо сейчас цикл завершает свои итерации, а оператор вставки выполняется только для последнего значения$x
, потому что ваш оператор вставки находится после цикла for