当我尝试将带有另一个字符串值的数组插入数据库时,它给列计数与值计数错误不匹配。我的代码给出了发生此错误的任何解释
$Skills = "java,php";
$memberId ="1";
$wordArray = explode(",", $Skills);
$query = "INSERT INTO tempskill (skill,memberId) VALUES ('" .implode("'), ('", $wordArray). "' , '".$memberId."' ) ";
echo $Skills;
mysql_query($query) or die ('Error :' . mysql_error());
此代码输出为 - java,C#错误:列数与第1行的值计数不匹配
答案 0 :(得分:1)
要为每对插入的值添加memberId
,您应该使用:
$query = "INSERT INTO tempskill (skill,memberId) VALUES ('" .implode("', '" . $memberId . "'), ('", $wordArray) . "', '" . $memberId . "')";
// echoes `INSERT INTO tempskill (skill,memberId) VALUES ('java', '1'), ('php', '1')`
但是
mysql
扩展程序已过时且在php7中已删除。所以,我建议你转到PDO
/ mysqli
apis并准备好陈述。更多信息here。