mysqli 更新无效
mysqli update didn't work
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";
}
}
结果总是 'failed'。所以,有人能告诉我怎么了吗?
更新查询中不需要 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];
无需在更新查询中使用 FROM
YOR_TABLE_NAME
。
您将检查您的查询更新或不使用 ===
运算符以获取更多详细信息检查此 link 运算符功能 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";
}
你漏掉了点:$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
。
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";
}
}
结果总是 'failed'。所以,有人能告诉我怎么了吗?
更新查询中不需要 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];
无需在更新查询中使用 FROM
YOR_TABLE_NAME
。
您将检查您的查询更新或不使用 ===
运算符以获取更多详细信息检查此 link 运算符功能 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";
}
你漏掉了点:$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
。