我想在mysql表中更新数据,其中列title_modal将被更新,如果列store_url值完全等于列site_url



我有一个名为"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";

相关内容

  • 没有找到相关文章

最新更新