这是使用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替换为收集数据的两个变量。如何更换它们
答案 0 :(得分:1)
从我看来
$d = $conn1->Execute($sql, $my_data[$i]);
传递给Execute
方法的参数是查询字符串和带有一些值的数组。
因此,在您的情况下,您可以这样做:
$d = $conn1->Execute($sql, array($name, $age));
其中$name, $age
您的变量和$sql
是您的查询字符串。