php - 使用 php 更新值的 Mysql 脚本

标签 php mysql

我这里有一个代码,我使用它,每当我运行它时,它都会运行没有错误,但它不会更新 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 use mysqli_stmt::bind_param instead of directly using your variables inside the query statement.

关于php - 使用 php 更新值的 Mysql 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004864/

相关文章:

PHP/codeigniter - 使用 exit()

php - 当我尝试从 MySQL 检索信息时,我的页面崩溃了

php - 如何让PHP和C/C++相互交互

php - 基于现有行的受控表查询

php - Laravel 调度程序手动工作但不能自动工作?

mysql在具有不同条件的同一个表上查询内部连接

mysql - 在一个查询中有两个(或三个?)计数 MYSQL(通过 phpmyadmin)

php - 使用 PHP 仅显示数据库中的一项

mysql - Laravel 5 自定义验证 - 自定义 MySQL 查询

php - 页面模板 PHP 文件未链接 CSS 文件