使用php在表中插入多行

时间:2016-04-08 08:16:00

标签: php mysql row

尝试使用php:

多行插入到表中
<?php

$host = "localhost";
$username = "mysql_username";
$password = "mysql_password";
$dbname = "employee";
$con = mysqli_connect($host, $username, $password, $dbname) or die('Error in Connecting: ' . mysqli_error($con));

$st = mysqli_prepare($con, 'INSERT INTO emp(name, gender, designation) VALUES (?, ?, ?)');
// bind variables to insert query params
mysqli_stmt_bind_param($st, 'sss', $name, $gender, $designation);

for ($x = 0; $x <= 3; $x++) {       
    $name = 'tom';
    $gender = 'male';
    $designation = 'developer';
    mysqli_execute($st);
}

//close connection
mysqli_close($con);

?>

但是我要插入的行不会保存在数据库中。我的代码中有错误吗?

实际上我想要 json数组中的 for循环,我只是测试使用for循环知道它是否有效。

1 个答案:

答案 0 :(得分:1)

我认为代码是对的,但试试这个:

<?php
$host       = "localhost";
$username   = "mysql_username";
$password   = "mysql_password";
$dbname     = "employee";
$con = mysqli_connect($host, $username, $password, $dbname) or die('Error in Connecting: ' . mysqli_error($con));

$st = mysqli_prepare($con, 'INSERT INTO emp(name, gender, designation) VALUES (?, ?, ?)');

for ($x = 0; $x <= 3; $x++) {

    $name = 'tom';
    $gender = 'male';
    $designation = 'developer';

    // bind variables to insert query params
    mysqli_stmt_bind_param($st, 'sss', $name, $gender, $designation);
    mysqli_execute($st);
}

//close connection
mysqli_close($con);
?>

mysqli_stmt_bind_param($query, 'is',…)表示第一个值是整数(i),下一个值是字符串。您可以随意调整以适合您的实际数据类型。