我无法让外键自行更新,约束设置为在phpmyadmin中删除级联的更新级联上。我可以插入其他所有内容,只是外键user_id显示为 null 而不是更新为正确的 id。我的错误在哪里?id表id,我知道我不需要放入sql语句;user_id是与tbl_user链接的外键
插入到数据库代码
try
{
$dbh = new PDO("mysql:host=localhost;dbname=$database", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt =$dbh->prepare( "INSERT INTO tbl_details (user_id, name,address,postcode)
VALUES(:user_id,:name,:address,:postcode)");
$stmt->bindParam(':user_id',$user_id);
$stmt->bindparam(':name', $name);
........
$stmt->execute();
$dbh = null;
}catch (PDOException $e) {
$dbh = null;
print "Error!: " . $e->getMessage() . "<br/>";
print "PHP Line Number: " . $e->getLine() . "<br/>";
print "PHP File: " . $e->getFile() . "<br/>";
die();
}
是的,它现在可以工作了,我错过了这个
$stmt = $auth_user->runQuery("SELECT * FROM tbl_details WHERE user_id=:user_id");
$stmt->execute(array(":user_id"=>$user_id));
谢谢@sean和@Darwin冯·科拉克斯