【发布时间】:2011-07-05 19:55:54
【问题描述】:
我想要的是通过按索引号选择行并更新该行上的答案字段来更新我的数据库表。
这是我的表单选择;它将索引 id 放入选项值。还有一个名为“answer”的文本区域。
<select name="indexno" style="width:150px">
<option selected="selected"> </option>
<?php
require('dbconnect.php');
$query = mysql_query("SELECT * FROM mytable WHERE answer = '' ");
while($result = mysql_fetch_array($query))
{
echo "<option " . "value='" . $result['index'] . "'>";
echo $result['index'];
echo "</option>";
}
?>
</select>
这是 PHP 代码:
$indexno = $_POST['indexno'];
$answer = $_POST['answer'];
$date = gmdate("Y-m-d\TH:i:s\Z");
$query = "UPDATE mytable
SET answerfield = '$answer',
date = '$date'
WHERE index = '$indexno'";
$link = mysql_query($query);
但是,它不起作用;错误信息是:
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 在第 1 行的 'index = '2'' 附近
【问题讨论】:
-
index是整数列吗?你可以试试$indexno而不是'$indexno' -
@Kieren Johnstone 是的,它是整数。
-
...所以你有没有尝试我的建议?下一个问题,我的建议有影响吗?最后一个问题,它解决了问题吗?
标签: php mysql sql sql-update mysql-error-1064