How do I insert an array of values into different

2020-02-15 03:05发布

I am getting values in an array like this:

 Array
(
    [0] => English
    [1] => Arabic
)

I am having 2 columns in database like below.

lanuage1 language2

I want to insert the first array [0] => English to language1 column and [1] => Arabic to language2 ,can any one suggest how can I do that? Thanks.

I tried like this:

$data = explode( ',', $language ) ;

print_r($data);

INSERT INTO contact(lanuage1 ,language2) VALUES ($data [0], $data [1]);

but its not working...

标签: php mysql
3条回答
爷、活的狠高调
2楼-- · 2020-02-15 03:37
<?php
$languages = array(
'0' => 'English',
'1' => 'Arabic'
);

mysqli_query($connection,"INSERT INTO contact(lanuage1 ,language2) VALUES ('$languages[0]', '$languages[1]')");
?>
查看更多
等我变得足够好
3楼-- · 2020-02-15 03:42

If you want to insert new record you must give every column its value , not just language1, language2

Maybe some columns has default values in DB, if it is, you can skip theme in sql statment.

Try this:

INSERT INTO table_name
VALUES (value1, value2, value3,...)

Or visit this page maybe help you: http://www.w3schools.com/php/php_mysql_insert.asp

查看更多
在下西门庆
4楼-- · 2020-02-15 03:47

If you want your array values to be properly formatted, you could just use implode(). Consider this example:

$values = array('English', 'Arabic');
$statement = 'INSERT INTO contact (`language1`, `language2`) VALUES ("' . implode('", "', $values) . '")';
echo $statement;

Sample Output:

INSERT INTO contact(`language1`, `language2`) VALUES ("English", "Arabic")

Important Note: You must remember that column count must have the same count as the values inside your query or else it will not work (count of columns must match the number of elements inside the array or you will have a mismatch).

查看更多
登录 后发表回答