我有一个名为player的表,在将数据插入到那里后,成功运行,我有以下代码来捕获自动递增主键的值。
$one = $pdo->lastInsertId();
我当时希望做的是获取存储在此变量中的值,并将其作为值插入另一个表中。我尝试过几种方法但无济于事。请参阅以下内容:
ATTEMPT ONE
try
{
$sql = "INSERT INTO links SET
link = :link,
playerid = '$one'";
$s = $pdo->prepare($sql);
$s->bindValue(':link', $_POST['link']);
$s->bindValue(':playerid', $_POST[':playerid']);
$s->execute();
}
catch (PDOException $e)
{
$error = 'Error adding link for player.' . $e->getMessage();
include 'error.html.php';
exit();
}
ATTEMPT TWO
try
{
$sql = 'INSERT INTO links SET
link = :link,
playerid = :playerid';
$s = $pdo->prepare($sql);
$s->bindValue(':link', $_POST['link']);
$s->bindValue(':playerid', $_POST['$one']);
$s->execute();
}
catch (PDOException $e)
{
$error = 'Error adding link for player.' . $e->getMessage();
include 'error.html.php';
exit();
}
代码实际上并没有抛出任何错误,但是当我查看数据库时,该值未被传入。
有人可以解释出现了什么问题吗?
感谢您的时间和帮助。
答案 0 :(得分:1)
只需使用$one
$sql = 'INSERT INTO links SET
link = :link,
playerid = :playerid';
$s = $pdo->prepare($sql);
$s->bindValue(':link', $_POST['link']);
$s->bindValue(':playerid', $one);