-1

私のphp mysql-codeは奇妙です。

これは時々機能しますが、このコード行を実行すると、すべての値が 0 に設定されることがあります。

$tid = htmlentities(mysql_real_escape_string($_POST['themes']));
$sql = ("UPDATE ai_themes 
         SET chosen = IF(tid!='$tid', '0','1')");

mysql_query($sql);

そして時々、一晩中すべての値が0です。列挙型を見ていないのに、なぜそうなのか興味があります...

テーマの表:

tid = int, PK, NOT NULL, AUTO_INCREMENT
name = varchar(30)
chosen = tinyint(1)

[編集]

うーん、選択フォームから有効な値を取得していないようです:

<form action="my_form_handler.php?c=3" method="post" data-transition="slideup">
    <div data-role="fieldcontain">
        <label for="themes" class="select">Select theme:</label>
        <select name="themes" id="select-theme">
        <option value="1">Red</option>
        <option value="2">Green</option>
        <option value="3">Orange</option>
            <option value="4">Blue</option>
        </select>
    </div>
    <div data-role="fieldcontain" class="ui-hide-label">
        <button type="submit" data-theme="a" name="submit" value="submit-value">Change theme</button>
    </div>
</form>

エラーが表示されません...

4

1 に答える 1

0

ここにWHERE部分がありません...それがなければ、テーブルのすべての行に一致します

于 2013-07-24T13:00:30.233 に答える