<?php
require('dbconnect.php');
$indexno = $_POST['indexno'];
$cevap = $_POST['cevap'];
$cevapdate = gmdate("Y-m-d'TH:i:s'Z");
$query = "UPDATE soru
SET cevap = '$cevap',
cevapdate = '$cevapdate'
WHERE `index` = '$indexno'";
$link = mysql_query($query);
if(!$link) {
die('not worked: ' . mysql_error());
} else {
mysql_close($con);
echo 'worked';
}
?>
这个php代码的结果是"Worked",但数据库中没有任何更改。问题是我试图通过索引id更新一行上的cevap和cevapdate字段。
您需要从index
中移除单引号。在编写查询时,不应在列名周围加单引号。这样写你的查询-
$query = "UPDATE soru SET cevap = '$cevap', cevapdate = '$cevapdate' WHERE index = '$indexno'";
您必须使用反引号而不是单引号来转义行/表。
$query = "UPDATE `soru`
SET `cevap` = '$cevap', `cevapdate` = '$cevapdate'
WHERE `index` = '$indexno'";
此外,您应该转义用户输入,以防止SQL注入。