php将数据保存到数组中的数据库中

时间:2014-09-09 12:51:19

标签: php mysql arrays arraylist

在php中我有一个这样的表格

<form action="" method="post">
    <table id="user-data">
        <tr>
            <td>Firstname</td>
            <td>Lastname</td>
            <td>Age</td>
        </tr>
        <tr>
            <td><input type="text" name="firstname[]"></td>
            <td><input type="text" name="lastname[]"></td>
            <td><input type="text" name="age[]"></td>
        </tr>
        <tr>
            <td><input type="text" name="firstname[]"></td>
            <td><input type="text" name="lastname[]"></td>
            <td><input type="text" name="age[]"></td>
        </tr>       
    </table>
    <input type="submit" name="submit" value="submit">
</form>

现在我想将数据插入到mysql表中。为此我的脚本到目前为止就是这样的

<?php
$host = 'localhost';
$uname = 'root';
$pwd  = 'root';
$db = 'Test';
$con=mysqli_connect($host,$uname,$pwd,$db);
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


if(isset($_POST['submit'])) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$age = $_POST['age'];
echo '<pre>';
print_r($firstname);
print_r($lastname);
print_r($age);
echo '</pre>';
?>

现在从这里我想知道如何将值插入到数组中的数据库中。任何帮助和建议都将非常有用。感谢

4 个答案:

答案 0 :(得分:0)

使用insert语句,你可以在这里看到如何做到这一点:

http://www.w3schools.com/sql/sql_insert.asp

答案 1 :(得分:0)

您想将所有firstnames,lastnames和age插入数据库吗?在$ firstname变量上使用foreach并从那里开始。

编辑:

$numberInArray = count($firstname);
for ($i=0; $i<$numberInArray; $i++) {
   // query with $firstname[$i], $lastname[$i] and $age[$i]
}

这样,您将首先计算数组中变量的数量,然后您将遍历所有数组,并插入这些值。我希望你可以自己编写INSERT查询,使用你的框架(我建议使用pdo准备好的查询)。

答案 2 :(得分:0)

试试这个

<?php
if(isset($_POST['submit'])) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$age = $_POST['age'];
$firstNameVal = $lastNameVal = $ageVal ='';
foreach ($firstname as $fn) {
    $firstNameVal .= $fn;
}
foreach ($lastname as $ln) {
    $lastNameVal .= $ln;
}
foreach ($age as $ag) {
    $ageVal .= $ag;
}
"insert into tablename (firstname,lastname,age) values ($firstNameVal,$lastNameVal,$ageVal)";
}
?>

答案 3 :(得分:0)

if(!empty($_POST)) {
        for($i=0;$i<count($_POST['firstname']);$i++) {
            $firstName = $_POST['firstname'][$i];
            $lastName = $_POST['lastname'][$i];
            $age = $_POST['age'][$i];
            $sql = "INSERT INTO tablename (firstname,lastname,age) values ('".$firstName."','".$lastName."','".$age."')";
        }
    }