你永遠不執行查詢你需要query()
或mysqli_query();
執行查詢你的代碼應該是
<?php
$usertype= $_POST['usertype'];
$empID= $_POST['id'];
$sql="UPDATE `sap` SET `UserType`='$usertype' WHERE `ID`='$empID'";
$run = $conn->query($sql);
if($run){
echo "data updated";
}else{
echo "error". $conn->error;
}
?>
或
<?php
$usertype= $_POST['usertype'];
$empID= $_POST['id'];
$sql="UPDATE `sap` SET `UserType`='$usertype' WHERE `ID`='$empID'";
$run = mysqli_query($conn, $sql);
if($run){
echo "data updated";
}else{
echo "error ".mysqli_error($conn);
}
?>
其中$conn
是你的連接字符串
個
或更好地利用預處理語句:
<?php
$usertype= $_POST['usertype'];
$empID= $_POST['id'];
$sql="UPDATE `sap` SET `UserType`= ? WHERE `ID`= ? ";
$run = $conn->prepare($sql);
$run->bindParam("si",$usertype,$empID)
if($run->execute()){
echo "data updated";
}else{
echo "error". $conn->error;
}
?>
或使用PDO
<?php
$host = '';
$db = '';
$user = '';
$pass = '';
$charset = 'utf8';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$dbh = new PDO($dsn, $user, $pass, $opt);
$usertype= $_POST['usertype'];
$empID= $_POST['id'];
$sql="UPDATE `sap` SET `UserType`= ? WHERE `ID`= ? ";
$stmt = $dbh->prepare($sql);
if($stmt->execute(array($usertype,$empID))){
echo "data updated";
}
?>
見mysqli_query
你得到的任何錯誤?你執行了查詢還是不行(我沒有看到執行代碼)? –
您沒有執行查詢。你只是建立一個字符串。另外請注意,您構建要執行的SQL字符串的方式會導致SQL注入問題。 –
你需要執行查詢 –