如果 column1 是用户,则插入那里,否则插入第 2 列
If column1 is user then insert there otherwise insert in column 2
我想这样做,如果 $_SESSION["user"]
存在于 App.Person1
中,则将其设置为空,否则将 App.Person2
设置为空。
这是我当前要取消分配的查询:
update App set App.Person1 = NULL where App.Person1 = '" . addslashes(strip_tags($_SESSION["user"])) . "' and App.ID = '" . addslashes(strip_tags($_SESSION["edit"])) . "' || update App set App.Person2 = NULL where App.Person2 = '" . addslashes(strip_tags($_SESSION["user"])) . "' and App.ID = '" . addslashes(strip_tags($_SESSION["edit"])) . "'"
问题:它似乎没有用这个查询更新字段
示例:
我这里有三列,我登录为 Tommy
:
App.ID App.Person1 App.Person2
1 Tommy Green
因为 Tommy 存在于 Person1
,当我点击按钮时,我希望它变成 null
。
这是另一个例子:
App.ID App.Person1 App.Person2
1 Green Tommy
因为Tommy
在Person1
中不存在,所以我想把Person2
改成null
问题:是否有使用嵌套查询或 case 语句的解决方案可用于解决此问题?
这就是您想要的吗?
update App
set Person1 = NULL
where Person1 = $_SESSION["user"];
update App
set Person2 = NULL
where Person2 = $_SESSION["user"];
$sql = 'SELECT * FROM App WHERE Person1 = :person1 OR Person2 = :person2';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':person1' $_SESSION["user"], PDO::PARAM_STR);
$stmt->bindValue(':person2' $_SESSION["user"], PDO::PARAM_STR);
if($stmt->execute() === FALSE){
Throw new \Exception('could not connect!');
}
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row){
if($row['Person1'] == $_SESSION["user"]) {
//Do update for person1
}
else {
//Do update for person2
}
}
希望对您有所帮助!
我想这样做,如果 $_SESSION["user"]
存在于 App.Person1
中,则将其设置为空,否则将 App.Person2
设置为空。
这是我当前要取消分配的查询:
update App set App.Person1 = NULL where App.Person1 = '" . addslashes(strip_tags($_SESSION["user"])) . "' and App.ID = '" . addslashes(strip_tags($_SESSION["edit"])) . "' || update App set App.Person2 = NULL where App.Person2 = '" . addslashes(strip_tags($_SESSION["user"])) . "' and App.ID = '" . addslashes(strip_tags($_SESSION["edit"])) . "'"
问题:它似乎没有用这个查询更新字段
示例:
我这里有三列,我登录为 Tommy
:
App.ID App.Person1 App.Person2
1 Tommy Green
因为 Tommy 存在于 Person1
,当我点击按钮时,我希望它变成 null
。
这是另一个例子:
App.ID App.Person1 App.Person2
1 Green Tommy
因为Tommy
在Person1
中不存在,所以我想把Person2
改成null
问题:是否有使用嵌套查询或 case 语句的解决方案可用于解决此问题?
这就是您想要的吗?
update App
set Person1 = NULL
where Person1 = $_SESSION["user"];
update App
set Person2 = NULL
where Person2 = $_SESSION["user"];
$sql = 'SELECT * FROM App WHERE Person1 = :person1 OR Person2 = :person2';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':person1' $_SESSION["user"], PDO::PARAM_STR);
$stmt->bindValue(':person2' $_SESSION["user"], PDO::PARAM_STR);
if($stmt->execute() === FALSE){
Throw new \Exception('could not connect!');
}
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row){
if($row['Person1'] == $_SESSION["user"]) {
//Do update for person1
}
else {
//Do update for person2
}
}
希望对您有所帮助!