使用AdoDB将数据插入数据库

时间:2015-12-06 17:56:44

标签: php mysql adodb

这是使用AdoDB Databse Abstraction Layer插入的方法。

<?php
include 'adodb5/adodb.inc.php';
$host = 'localhost';
$user = 'user2000';
$pass = 'password2000';
$dbname = 'w3cyberlearning';
$conn1 = &ADONewConnection('mysql');
$conn1->PConnect($host, $user, $pass, $dbname);
// the MySQL insert statement.
$sql = "INSERT INTO user_infor(id,first_name,last_name, email) values(?,?,?,?) ";
     $my_data = array(
     array(1, 'Paul', 'Mark', 'pm@aa.com'),
     array(2, 'Jam', 'Gill', 'jg@aa.com'),
     array(3, 'Mix', 'Alex', 'mlex@aa.com'),
     array(4, 'King', 'Mix', 'km@aa.com')
);

// loop through the array 
for ($i = 0; $i < count($my_data); $i++) {
    $d = $conn1->Execute($sql, $my_data[$i]);
    if (!$d) {
        print 'error' . $conn1->ErrorMsg() . '<br>';
    }
    echo 'Success!';
    echo "<br/>";
    }

数据采用数组格式。

如果我使用表格怎么办。

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    $age = $_POST['age'];
}

<form enctype="multipart/form-data" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
    <input type="text" id="name" name="name" />
    <input type="number" id="age" name="age" />
    <input type="submit" value="Submit"/>
</form>        

现在,数据来自两个变量$ name和$ age。

我无法做的是将上面的$ my_data替换为收集数据的两个变量。如何更换它们

1 个答案:

答案 0 :(得分:1)

从我看来

$d = $conn1->Execute($sql, $my_data[$i]);

传递给Execute方法的参数是查询字符串和带有一些值的数组。

因此,在您的情况下,您可以这样做:

$d = $conn1->Execute($sql, array($name, $age));

其中$name, $age您的变量和$sql是您的查询字符串。