0

私はデータベーステーブルを持っています-シリアル(自動インクリメント主キー)、バージョン、およびturk_number。次のコードを使用して、新しい行を挿入しています。$ _GETを介してこれらの変数を受け取り、印刷を行ったので、変数が使用可能であることがわかっているので、何が問題なのかわかりません。シリアルとバージョンはロードされますが、turk_numberはロードされません。

$turk_number ='';
$serial='';
$version='';
if(isset($_GET['serial']))
{
    $serial=$_GET['serial'];
    $_SESSION['serial'] = $serial;
}
if(isset($_GET['version']))
{
    $version = $_GET['version'];
    $_SESSION['version'] = $version;
    print "version=" . $version;
}
if(isset($_GET['turk_number']))
{
    $turk_number= $_GET['turk_number'];
    $_SESSION['turk_number'] = $turk_number;
    print "turk number=".$turk_number;
}

//this assigns a participant a unique serial id at the beginning of the game
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "resolver";

try 
{
print 'turk2=' . $turk_number;
    $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $query2 = "INSERT INTO participants (version, turk_number) VALUES (:version, :turk_number)";
        $stmt = $dbh ->prepare($query2);
        $stmt ->execute(array(':version' => $version,
                            ':turk_number' => $turk_number));

}
catch(PDOException $e)
{
    echo $e->getMessage();
}   
4

1 に答える 1

-1

引用符を忘れました。

変化する:

$query2 = "INSERT INTO participants (version, turk_number) VALUES (:version, :turk_number)";

に:

$query2 = "INSERT INTO participants (version, turk_number) VALUES (':version', ':turk_number')";
于 2013-02-17T19:03:39.733 に答える