[英]Updating a MySQL database using PHP
嗨,我正在嘗試使用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 = 9";
if($conn -> query ($sql) === TRUE){
echo "record updated successfully";
}else{
echo "Error updating record" . $conn -> error;
}
$conn -> close ();
?>
但是在將上面的bot列更新為1之前,我想檢查一下它是否為0,因為它只能是0或1。為此,我執行了以下操作(請參見下文),但它不起作用,是可能,或者是否有其他方法? 感謝所有幫助,謝謝!!
$sql = "SELECT bot FROM user"; // bot is the column in the table which should be 0 or 1
if( $sql == '0') { //if its 0 i can update it
echo 'here'; //if i get here i will update using code above
}
有兩種方法
SELECT
和UPDATE
$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 } }
CASE
構造
UPDATE user SET bot = CASE WHEN bot = 0 THEN 1 ELSE bot END WHERE id='9'
這個怎么運作:
它會根據匹配案例的返回值來更新機器人值。 如果當前bot
值為0
,則返回1
,否則返回id=9
行的current value
。
優勢:僅1個查詢
請試試
<?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 ();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.