mysqli update没有工作

时间:2016-02-11 06:49:10

标签: php mysql

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;所以,有人能告诉我什么是错的吗?

3 个答案:

答案 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