Я хочу, чтобы этот код вставлял данные в одну строку таблицы базы данных - PullRequest
0 голосов
/ 12 февраля 2020

Я хочу, чтобы этот код вставлял данные в ту же строку таблицы базы данных, но вместо этого он создает еще одну строку в таблицу и вставляет второе значение во вторую строку.

<?php  
$connect = mysqli_connect("localhost", "root", "", "test_db");  
$numbers = count($_POST["name"]);  
if($numbers > 0)  
{  
    for($i=0; $i<$numbers; $i++)  
    {  
        if(trim($_POST["name"][$i] != ''))  
        {  
            $sql = "ALTER TABLE 
                    tbl_name 
                    ADD COLUMN name_$i varchar(100) 
                    ";

            mysqli_query($connect, $sql);

            $number = (!empty($numbers[$i])) ? $numbers[$i] : '';

            // $user_id = mysqli_insert_id($connect);
            // echo $user_id;

            print_r($_POST["name"][$i]);

            $sql = "INSERT INTO tbl_name (name_$i) VALUES ('". mysqli_real_escape_string($connect, $_POST["name"][$i]) ."')";
            mysqli_query($connect, $sql);
        }  
    }  
    echo "Data Inserted";  
}  
else  
{  
    echo "Please Enter Name";  
}
?> 

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Вы используете Insert и Alter, они не для обновления, для этого используйте таблицу UPDATE Update stmt (оператор), где ..

0 голосов
/ 12 февраля 2020

SQL оператор INSERT используется для добавления строк в таблицу.

Если вы хотите обновить существующую строку, используйте UPDATE:

UPDATE tbl_name SET [attribute] = [value] WHERE [condition]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...