php - 无法从网址更新
问题描述
我有这部分代码。但是当我点击https://..../posts.php?unpublish=4时,什么也没有发生。页面刚刚刷新,没有日志。当我单击它时,它应该将值从 1 更改为 0。我的代码在 XAMPP 上运行,但在 GoGaddy 共享主机中不起作用。
// if I clicks the publish post button
if (isset($_GET['publish']) || isset($_GET['unpublish'])) {
$message = "";
if (isset($_GET['publish'])) {
$message = "Post published successfully";
$post_id = $_GET['publish'];
} else if (isset($_GET['unpublish'])) {
$message = "Post successfully unpublished";
$post_id = $_GET['unpublish'];
}
togglePublishPost($post_id, $message);
}
function togglePublishPost($post_id, $message)
{
global $conn;
$sql = "UPDATE posts SET published=!published WHERE id=$post_id";
if (mysqli_query($conn, $sql)) {
$_SESSION['message'] = $message;
header("location: posts.php");
exit(0);
}
}
解决方案
问题不在 PHP 代码中,而在 SQL 查询中。
要使用相反的值,published
您必须使用NOT
. 使用此查询:
$sql = "UPDATE posts SET published = NOT published WHERE id = $post_id";
推荐阅读
- .net - 在 .NET core 2.1 中获取服务器绝对路径
- corda - 节点未从 Cordite 仪表板中删除
- java - SSH 命令终止序列
- python - 通过重复加法进行二进制乘法
- java - 无法在 Spring Boot 中为每个测试方法初始化 DB
- java - 如何使用枚举的getter?
- typescript - 收到警告消息“入口点'@nicky-lenaers/ngx-scroll-to'中的警告包含对'rxjs/index'的深度导入”
- google-cloud-data-fusion - 使用谷歌数据融合连接mysql失败
- css - 角 PrimeNG。PrimeFlex:输入字段的行为不符合预期
- ios - 如何从 AVAudioEngine 获取声音的频率