我有一个名为"widget_cont"
的表和3个不同的列"title_modal"
,"store_url"
和"site_url"
。
我想更新column "title_modal"在"store_url"one_answers";site_url"是相同的值,例如:"google.com"=";google.com"但是,有多行具有相同类型的列,但值不同,例如:" facebook.com "="facebook.com".
我试过的是:
if(isset( $_POST['title_modal']) ){
$title_modal = mysqli_real_escape_string($conn, $_POST['title_modal']);
if( isset($title_modal) ){
$query_title_modal = "UPDATE widget_cont SET title_modal='$title_modal' WHERE store_url= 'site_url' ";
echo $_POST['title_modal'];
}
if( !mysqli_query($conn, $query_title_modal) ){
echo "ERROR: " . mysqli_error($conn);
}
}
每次在错误的同一行更新值时。如果我在site_url中输入静态URL列,它可以工作。看起来解决方法很简单,但我还没有成功。有人能帮忙吗?谢谢。
store_url= 'site_url'
是错误的。由于引号的缘故,它将把site_url
当作字面值字符串,而不是列名。换句话说,它将尝试查找store_url列包含实际文本"site_url"的行。我猜你没有任何行有这样的内容,显然这不是你的意图。
如果你想更新所有这两列相等的行,那么使用
store_url= site_url
不带引号
WHERE store_url= 'site_url'
将返回store_url
是字符串'site_url'
的项目,很可能没有项目将返回。去掉引号,替换
$query_title_modal = "UPDATE widget_cont SET title_modal='$title_modal' WHERE store_url= 'site_url' ";
$query_title_modal = "UPDATE widget_cont SET title_modal='$title_modal' WHERE store_url=site_url";