0

player というテーブルがあり、そこにデータを挿入すると正常に機能し、自動インクリメントされた主キーの値を取得する次のコードがあります。

$one = $pdo->lastInsertId();

次に、この変数に格納されている値を取得し、それを値として別のテーブルに挿入します。私はいくつかの方法を試しましたが、役に立ちませんでした。下記を参照してください:

試行 1

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

試行 2

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 に答える