1

在我正在创建的纸牌游戏中,我需要在 foreach 循环中更新数据库,因为每 3 张纸牌checkbox更新他们创建的手牌的数据库。

我遇到的问题是,即使它看起来是正确的,它也不起作用。

if (isset($_POST['hand']) == true)
{
    if (sizeof($_POST['checkbox']) == 3)
    {
        foreach($_POST['checkbox'] as $checkbox)
        {
            $query = "UPDATE games SET ? = ? WHERE comp = 0";
            $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
            $stmt = $db->prepare($query);
            $stmt->bindValue(1, "ss$ver");
            $stmt->bindValue(2, $checkbox);
            $stmt->execute();
            $ver = $ver + 1;
            echo $checkbox.'<br/>';
        }
    }
    else
    {
        echo 'You must only select 3 cards.';
    }
}

$ver以便卡片可以在 foreach 循环中完成。"ss$ver"每次循环循环时/'ss'.$ver都会递增,以便它遵循数据库中的下一个field title/ column。但是我得到的 mySQL 错误是这样的。

警告:PDOStatement::execute(): SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 126 行的 E:\wamp\www\index.php 的第 1 行的 ''ss1' = '13' WHERE comp = 0' 附近使用正确的语法

警告:PDOStatement::execute(): SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 126 行的 E:\wamp\www\index.php 的第 1 行的 ''ss2' = '15' WHERE comp = 0' 附近使用正确的语法

ETC..

关于如何绕过复选框的 foreach 循环或在循环中实际更新的任何想法?

任何帮助表示赞赏!

而对于形式

echo '<form input="index.php" method="post">';
foreach($fetch as $key => $value)
{
    $check = '<input class="check" type="checkbox" name="checkbox[]" value="'.$value.'">';
    echo $cards[$value].$check;
}
4

1 回答 1

1
if (isset($_POST['hand']) == true)
{
    if (sizeof($_POST['checkbox']) == 3)
    {
        foreach($_POST['checkbox'] as $checkbox)
        {
            $query = "UPDATE games SET ss$ver = ? WHERE comp = 0";
            $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
            $stmt = $db->prepare($query);
            // $stmt->bindValue(1, 'ss'.$ver);
            $stmt->bindValue(1, $checkbox);
            $stmt->execute();
            $ver = $ver + 1;
            echo $checkbox.'<br/>';
        }
    }
    else
    {
        echo 'You must only select 3 cards.';
    }
}

无法在列/表名称上绑定变量。

于 2013-08-22T12:14:18.747 回答