Как использовать цикл for для вставки нескольких записей в таблицу базы данных

Я упростил свою проблему до следующего кода:

$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».

Однако все, что я вижу, это:

Пожалуйста, порекомендуйте. Спасибо.

вам нужно поместить фактический оператор вставки в цикл for, поэтому каждый раз, когда он увеличивает $x, он также должен выполнять оператор вставки, прямо сейчас цикл завершает свои итерации, а оператор вставки выполняется только для последнего значения $x, потому что ваш оператор вставки находится после цикла for

Umer Abbas 14.12.2020 05:20

Не могли бы вы предложить изменить код, чтобы исправить это? $sql_abc = "INSERT INTO $tbl_abc VALUES ($x)"; сейчас не в цикле for ($x = 1; $x <= 10; $x++)? Спасибо!

Bob 14.12.2020 05:23

пожалуйста, поделитесь полным кодом, чтобы я мог исправить его для вас. Покажите, где вы выполняете строку запроса "INSERT INTO $tbl_abc VALUES ($x)"?

Umer Abbas 14.12.2020 05:26

Готово, добавил в пост. Спасибо.

Bob 14.12.2020 05:29

Хорошей практикой будет обрабатывать ошибку подключения только один раз, когда вы впервые устанавливаете соединение с базой данных, вам не нужно проверять соединение каждый раз, когда вы выполняете запрос.

Umer Abbas 14.12.2020 05:38
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
389
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот как вы можете это сделать.

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 и не знаю, как выполнять запросы!

Bob 14.12.2020 05:37

Не беспокойтесь, просто найдите лучший способ обработки соединений с базой данных и изучите лучшие методы кодирования. Хорошего дня.

Umer Abbas 14.12.2020 05:39

Другие вопросы по теме