如何使用 php 在 mysql 中插入多个值


How to insert the multiple values in mysql using php

我有 mysql 表"persons",有 3 列,如下所示,

Name   Salary  Profession

我使用 php get 方法发送 3 个参数,其值为 ,

 $name = raj|lokesh|amar
 $salary = 10000|20000|30000
 $job = telecom|marine|shipyard

我必须将它们插入"人"表中,因为,

Name     Salaray  Profession
raj      10000     telecom
lokesh   20000     marine
amar     30000     shipyard

谁能告诉我我该怎么做?

您可以使用爆炸函数将字符串转换为数组。你当然可以在你的情况下使用它,使用我的小演示:

$name = "raj|lokesh|amar";
$salary = "10000|20000|30000";
$job = "telecom|marine|shipyard";

您只需设置变量。现在将它们转换为exploded数组:

$name = explode("|", $name);
$salary = explode("|", $salary);
$job = explode("|", $job);

你基本上想获取字符|之间的所有单词,并将每个单词转换为数组项,这样每个单词都有自己的索引。

现在,$name[0](第一个数组索引),

echo $name[0]; // echoes 'raj'
echo $name[1]; // echoes lokesh'
echo $job[3]; // echoes 'shipyard';

现在你必须遍历这些数组并将其插入到查询中:

for ($i = 0; $i < count($name); $i++) {
    echo $name[$i];
}

所以最终的解决方案将如下所示:

for ($i = 0; $i < count($name); $i++) {
    $query = $pdoObject->prepare("INSERT INTO table (name, salary, profession) VALUES (:name, :salary, :jobs)");
    $query->execute(array(
        ":name" => $name[$i], 
        ":salary" => $salary[$i], 
        ":jobs" => $jobs[$i]
    );
}

这不是一个直接的答案,因为你还没有向我们展示任何代码。尝试这样的事情。

<?php
$name = "raj|lokesh|amar";
$salary = "10000|20000|30000";
$job = "telecom|marine|shipyard";
$name = explode("|",$name);
$salary=explode("|",$salary);
$job=explode("|",$job);
for($i=0;$i<count($name);$i++)
{
    $q = mysql_query("INSERT INTO `yourtable` VALUES ('$name[$i]','$salary[$i]','$job[$i]')");
}

尝试使用

$names = explode("|", $name);
$salaries = explode("|", $salary);
$professions = explode("|", $profession);

然后遍历数组($names、$salaries$professions)以在数据库中插入值。http://php.net/manual/fr/function.explode.php

像这样

INSERT INTO `persons`(`Name`, `Salaray`, `Profession`) values('raj', '10000','telecom'),('lokesh', '20000','marine'),('amar', '30000','30000')
//ASSIGN THE VARIABLES TO INSERT
    $name= '';
    $salary='';
    $job='';
//INSERT DATA INTO DATABASE
    $Input = mysql_query('INSERT INTO persons (name, salary, profession) VALUES ($name, $salary, $job)');
//SEARCH FOR PERSONS
    $output= mysql_query('SELECT * FROM persons ORDER BY id ASC');
    $personsCount = mysql_num_rows($output); //count output amount
//LOOP PERSONS OUTPUT
    if($personsCount > 0){
        while($row=mysql_fetch_array($output)){
                $id = $row['id'];
            $name = $row['name'];
            $salary = $row['salary'];
            $job = $row['job'];
    $personsList .=  $name.'&nbsp;'.$salary.'&nbsp;'.$job.'';
    }
}
echo $personsList;