使用PHP更新MySQL数据库
嗨,我正在尝试使用php更新我的mysql数据库。我可以通过以下内容对其进行完美更新:使用PHP更新MySQL数据库,php,mysql,Php,Mysql,嗨,我正在尝试使用php更新我的mysql数据库。我可以通过以下内容对其进行完美更新: <?php $conn = mysqli_connect("localhost", "root", "", "logintest"); if(!$conn){ die("Connection failed: ".mysqli_connect_error()); } ?> <?php $sql = "UPDATE user SET bot = '1' WHERE id
<?php
$conn = mysqli_connect("localhost", "root", "", "logintest");
if(!$conn){
die("Connection failed: ".mysqli_connect_error());
}
?>
<?php
$sql = "UPDATE user SET bot = '1' WHERE id = 9";
if($conn -> query ($sql) === TRUE){
echo "record updated successfully";
}else{
echo "Error updating record" . $conn -> error;
}
$conn -> close ();
?>
请试一试
<?php
$conn = mysqli_connect("localhost", "root", "", "logintest");
if(!$conn){
die("Connection failed: ".mysqli_connect_error());
}
$sql= "SELECT bot FROM user where columnid=value"; // change is according to your real value
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
if($row["bot"] == 0){
$sql = "UPDATE user SET bot = '1' WHERE id = 9";
if($conn -> query ($sql) === TRUE){
echo "record updated successfully";
}else{
echo "Error updating record" . $conn -> error;
}
}
}
}
$conn -> close ();
?>
有两种方法
选择并更新
案例结构
UPDATE user SET bot = CASE
WHEN bot = 0
THEN 1
ELSE bot
END
WHERE id='9'
工作原理:
它根据匹配案例的返回值更新bot值。若当前bot值为0,则返回1,否则返回id=9的行的当前值
优点:只有1个查询您需要执行查询,而不仅仅是将其存储在变量中:对不起,我对这一点比较陌生,我该怎么做?谢谢,如果在代码中有if x===TRUE,那就没用了。在大多数情况下,只需使用if x进行测试。为什么OP要尝试这个呢?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客,以便他们可以找到这个问题并阅读你的答案。
$query = "SELECT bot FROM user where id=9"
$res = $conn->query($query);
if ($res->num_rows == 1) {
// it should return only one row as id is unique
$row = $result->fetch_assoc()
if($row["bot"] == 0){
// UPDATE
}
}
UPDATE user SET bot = CASE
WHEN bot = 0
THEN 1
ELSE bot
END
WHERE id='9'