-1

我的 php mysql 代码很奇怪。

这有时会起作用,有时当我执行这行代码时它会将所有值设置为 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 回答