idk其中错误的部分,但更新查询无法正常工作。
这是表格
<form method="post">
<input type="checkbox" name="ceksetuju" id="cekbox" value="YA" required>
<label for="cekbox">dengan ini saya setuju dengan syarat dan ketentuan yang berlaku</label><br>
<input type="submit" name="agree" class="button special small" value="Next">
</form>
这是我的php文件
//CONNECT DATABASE
$db = new mysqli('localhost', 'root', '130395', 'dbtest');
//UPDATE TABLE LIRIK
if (isset($_POST['agree'])) {
$id=mysqli_real_escape_string($db,$_GET['id_lirik']);
$uname=$userRow['user_name'];
$ceksetuju=$_POST['ceksetuju'];
$sqlupdate ="UPDATE lirik set setuju_taken='$ceksetuju',taken_by ='$uname' FROM lirik where id_lirik='$id' ";
$resultupdate = $db->query($sqlupdate);
if ($resultupdate) {
echo "success";
}
else{
echo "failed";
}
}
结果总是失败&#39;所以,有人能告诉我什么是错的吗?
答案 0 :(得分:2)
更新查询中不需要FROM tablename
。试试 -
$sqlupdate =
"UPDATE lirik set setuju_taken='$ceksetuju',taken_by ='$uname'
WHERE id_lirik='$id'";
<强>语法强>
UPDATE [table_name]
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [conditions];
答案 1 :(得分:0)
无需在更新查询中使用FROM
YOR_TABLE_NAME
。
您将使用===
运算符检查您的查询更新是否有更多详情,请查看此链接以了解运营商功能http://php.net/manual/en/language.operators.comparison.php
以这种方式更改您的代码:
$sqlupdate ="UPDATE lirik set setuju_taken='".$ceksetuju."',taken_by ='".$uname."' where id_lirik= $id";
$resultupdate = $db->query($sqlupdate);
if ($resultupdate === TRUE) {
echo "success";
}
else{
echo "failed";
}
答案 2 :(得分:0)
你错过了点:$sqlupdate="UPDATE lirik set setuju_taken='".$ceksetuju."',taken_by ='".$uname."' FROM lirik where id_lirik=".$id.";
注意:taken_by ='".$uname."' VS. id_lirik=".$id."
我假设taken_by
具有VARCHAR数据类型,id_lirik
具有INT数据类型。无论如何,无需在更新查询中使用FROM table
。