0

我有一个名为 player 的表,在将数据插入其中后,它成功工作,我有以下代码来捕获自动递增主键的值。

$one = $pdo->lastInsertId();

然后我想要做的是获取存储在这个变量中的值并将其作为值插入另一个表中。我尝试了几种方法,但无济于事。请看下面:

尝试一

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();
}

尝试两次

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();
}

该代码实际上并没有引发任何错误,但是当我查看数据库时,该值没有被传入。

谁能解释一下出了什么问题?

感谢您的时间和帮助。

4

1 回答 1

1

只需使用$one

$sql = 'INSERT INTO links SET
        link = :link,
        playerid = :playerid';
$s = $pdo->prepare($sql);
$s->bindValue(':link', $_POST['link']);
$s->bindValue(':playerid', $one);
于 2012-08-21T10:47:38.913 回答