我这里有一个代码,我使用它,每当我运行它时,它都会运行没有错误,但它不会更新 Mysql 内的值。
请指出哪里出了问题。
谢谢。
这是代码。
<?php
session_start();
$loginuser = $_SESSION['result'];
$con=mysqli_connect("localhost","root","","leavecalendar");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if ('$_POST[department]' == 'Shared') {
//$sql="UPDATE `employee` SET `leavecount` = '$_POST[lbalance]', sickleave = 1 WHERE `department` = '$_POST[department]'";
$sql = "UPDATE `employee` SET `leavecount` = 6.44, sickleave = 5 WHERE `department` = \'Shared\'";
echo ($sql);
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
}
header("location:manageemployeeleaves.php");
mysqli_close($con);
?>
最佳答案
在当前代码中,删除 '$_POST[department]'
上的引号,因为它被解释为简单字符串。考虑这个例子:
<?php
session_start();
$loginuser = $_SESSION['result'];
$con=mysqli_connect("localhost","root","","leavecalendar");
// Check connection
if(mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if($_POST['department'] == 'Shared') {
$sql = "UPDATE `employee` SET `leavecount` = '6.44', sickleave = 5 WHERE `department` = 'Shared'";
if(!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
}
mysqli_close($con);
header("Location: manageemployeeleaves.php");
?>
Note: Since your are using
mysqli
, it is advisable to usemysqli_stmt::bind_param
instead of directly using your variables inside the query statement.
关于php - 使用 php 更新值的 Mysql 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004864/