I am getting values in an array like this:
Array
(
[0] => English
[1] => Arabic
)
I am having 2 columns in database like bel
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
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).
<?php
$languages = array(
'0' => 'English',
'1' => 'Arabic'
);
mysqli_query($connection,"INSERT INTO contact(lanuage1 ,language2) VALUES ('$languages[0]', '$languages[1]')");
?>