我的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>
看不到任何错误......
答案 0 :(得分:0)
你错过了这里的WHERE部分...没有它它会匹配你表中的所有行