如何将数组值插入具有相同ID的mysql

时间:2014-06-02 05:41:37

标签: php mysql arrays

我想将数组值插入到具有相同联系人ID的数据库中,

我想要这样

contactid       languageid
124              1
124              2

这是我的languageid数组值:Array([0] => 1 [1] => 2 [2] =>)和我的contactid = 124

任何人都可以告诉我这是怎么回事,

$queryinsert="INSERT INTO contactlanguage (contactid,languageid) VALUES ('$languageId','$contactId')";

    mysql_query($queryinsert);
    print $queryinsert;

5 个答案:

答案 0 :(得分:2)

您只有列不匹配(您的列已切换)。考虑这个例子:

// provided, you have already connected to mysql
$languageid = array(1, 2);
$contactid = 124;
foreach($languageid as $id) {
    $statement = "INSERT INTO contactlanguage (contactid, languageid) VALUES ('$contactid', '$id')"
    mysql_query($statement);
}

答案 1 :(得分:0)

    $queryinsert="INSERT INTO contactlanguage (contactid,languageid) VALUES ('$languageId','$contactId')";

        mysql_query($queryinsert);
        print $queryinsert;

你的迭代值是错误的。您传递给查询的值是错误的格式,

检查你的第一个字段是contactid,第二个字段是languageid,你的第一个值是languageid,第二个是contactid,

因此,在这种情况下,您的languageid进入contactid字段,contactid进入languageid字段。所以请按照以下说明,

    $languageid = array(xx, xx);  // Which is your array values
    $contactid = xxx; // which is your conatec value.
    foreach($languageid as $key=>$val) {
        $statement = "INSERT INTO contactlanguage (contactid, languageid) VALUES ('".$contactid."', '".$val."')"
        mysql_query($statement);
    }

答案 2 :(得分:0)

试试这个:

$languageid = array(1, 2);
$contactid = 124;
foreach($languageid as $key=>$id) {
    $statement = "INSERT INTO contactlanguage (contactid, languageid) VALUES ('$contactid', '$id')"
    mysql_query($statement);
}

答案 3 :(得分:0)

首先请记住,mysql_ *函数已被折旧且您为obsolete to sql injection,因为您直接将用户输入传递给查询。是时候切换到mysqli_*pdo

迭代你的languageid数组并插入每个这样的数组,你需要在查询中更改为列名。

$arrlanguageid = array ( 0 => 1 , 1 => 2);
$contactid = 124;
foreach($arrlanguageid as $key=>$val){
$queryinsert="INSERT INTO contactlanguage (contactid,languageid) VALUES ('$contactid','$val')";
    mysql_query($queryinsert);
}

您可以使用for loopforeach来循环数组

答案 4 :(得分:0)

你可以这样做

<?php
    $con=mysqli_connect("your_db_ip","your_username","your_password","your_db_name");
    $array = array(1,2,3);
    $contactId = 124;
    foreach($array as $value){
        $languageId = $value;        
        $queryinsert="INSERT INTO contactlanguage (contactid,languageid) VALUES ('$contactId','$languageId')";
        mysqli_query($con,$queryinsert);
    }
?>