我在这样的数组中获取值:
Array
(
[0] => English
[1] => Arabic
)
我在数据库中有两列,如下所示。
lanuage1 language2
我想插入第一个数组[0] =>英语到language1列和[1] =>阿拉伯语到语言2,任何人都可以建议我该怎么做?感谢。
我试过这样:
$data = explode( ',', $language ) ;
print_r($data);
INSERT INTO contact(lanuage1 ,language2) VALUES ($data [0], $data [1]);
但它不起作用......
答案 0 :(得分:1)
<?php
$languages = array(
'0' => 'English',
'1' => 'Arabic'
);
mysqli_query($connection,"INSERT INTO contact(lanuage1 ,language2) VALUES ('$languages[0]', '$languages[1]')");
?>
答案 1 :(得分:1)
如果要插入新记录,则必须为每列提供其值,而不仅仅是language1,language2
也许某些列在DB中有默认值,如果是,则可以跳过sql statment中的主题。
试试这个:
INSERT INTO table_name
VALUES (value1, value2, value3,...)
或者访问此页面可能会帮助您: http://www.w3schools.com/php/php_mysql_insert.asp
答案 2 :(得分:1)
如果您希望正确格式化数组值,可以使用implode()
。考虑这个例子:
$values = array('English', 'Arabic');
$statement = 'INSERT INTO contact (`language1`, `language2`) VALUES ("' . implode('", "', $values) . '")';
echo $statement;
示例输出:
INSERT INTO contact(`language1`, `language2`) VALUES ("English", "Arabic")
重要说明:您必须记住,列数必须与查询中的值具有相同的计数,否则它将无法工作(列的数量必须与数组中的元素数量匹配,否则您将拥有不匹配)。