我正在尝试使用PHP将数据添加到2个表中
我的PHP代码:insert.php
<?php
session_start();
$db['host'] = "dbhost";
$db['user'] = "user";
$db['pass'] = "pass";
$db['name'] = "dbname";
//making an array with the data recieved
$data = array('f_name' => $_POST['txt_f_name'],
'l_name' => $_POST['txt_l_name'],
'VNum' => $_POST['txtVisaNo']);
try {
// preparing database handle $dbh
$dbh = new PDO("mysql:host=".$db['host']."; dbname=".$db['name']."", $db['user'], $db['pass']);
// set the PDO error mode to exception
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$insertall = "BEGIN; "
. "INSERT INTO students (f_name, l_name) "
. "VALUES (:f_name, :l_name); "
. "INSERT INTO visa (students_id, VNum) "
. "VALUES (:LAST_INSERT_ID(), :VNum); "
. "$addStdInf->execute($data); "
. "COMMIT;";
$addStdInf = $dbh->prepare($insertall);
echo 'Success!';
}
catch(PDOException $e){
echo $sql,'<br />', $e->getMessage();
}
$dbh = null;
?>
通知是“成功!” 但是它什么也没插入数据库,请指导我出现错误。谢谢。
您忘记执行pdo语句
<?php
session_start();
$db['host'] = "dbhost";
$db['user'] = "user";
$db['pass'] = "pass";
$db['name'] = "dbname";
//making an array with the data recieved
$data = array('f_name' => $_POST['txt_f_name'],
'l_name' => $_POST['txt_l_name'],
'VNum' => $_POST['txtVisaNo']);
try {
// preparing database handle $dbh
$dbh = new PDO("mysql:host=".$db['host']."; dbname=".$db['name']."", $db['user'], $db['pass']);
// set the PDO error mode to exception
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$insertall = "BEGIN; "
. "INSERT INTO students (f_name, l_name) "
. "VALUES (:f_name, :l_name); "
. "INSERT INTO visa (students_id, VNum) "
. "VALUES (:LAST_INSERT_ID(), :VNum); "
. "$addStdInf->execute($data); "
. "COMMIT;";
$addStdInf = $dbh->prepare($insertall);
$result = $addStdInf->execute();
if ($result) {
echo 'Success!';
} else {
echo 'please check';
}
}
catch(PDOException $e){
echo $sql,'<br />', $e->getMessage();
}
$dbh = null;
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句