php - 一个按钮有效,另一个按钮无效

标签 php jquery mysql ajax

我有两个输入按钮。一个将 MySQL 数据库值设置为 0,另一个将其设置为 1。我有输入按钮成功地将值设置为 1。选择按钮不执行任何操作。

我正在使用 PHP、MYSQL、JQUERY 和 AJAX

这是我的全部代码

    <input type="submit" class="button" name="insert" value="insert"/>
    <input type="submit" class="button" name="select" value="select"/>

    <script>
    $(document).ready(function(){
        $('.button').click(function(){
            var clickBtnValue = $(this).val();
            var ajaxurl = '<?php echo BASE_URL; ?>/actions/settings.php',
            data =  {'action': clickBtnValue};
            $.post(ajaxurl, data, function (response) {
                // Response div goes here.
                alert("This is where the success message goes.");
            });
        });

    });
    </script>

settings.php

<?php

include_once (__DIR__ . "/../oc-config.php");

if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'insert':
            insert();
            break;
        case 'select':
            select();
            break;
    }
}

function select() {
  $site = BASE_URL;
  $link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

  if (!$link)
  {
      die('Could not connect: ' . mysql_error());
  }

  $query = "UPDATE settings SET setting_status='0' WHERE `setting_name='CIV_REG'";

  try
  {
      $stmt = mysqli_prepare($link, $query);
      mysqli_stmt_bind_param($stmt, "i", $uid);
      $result = mysqli_stmt_execute($stmt);

      if ($result == false)
      {
          die(mysqli_error($link));
      }
  }
  catch(Exception $e)
  {
      die("Failed to run query: " . $e->getMessage());
  }

  mysqli_close($link);

  session_start();
  $_SESSION['accessMessage'] = '<div class="alert alert-success"><span>Allowed Civilian Registration</span></div>';

  sleep(1);
  header("Location:".BASE_URL."/oc-admin/settingsManagement.php");
}

function insert() {
  $site = BASE_URL;
  $link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

  if (!$link)
  {
      die('Could not connect: ' . mysql_error());
  }

  $query = "UPDATE settings SET setting_status='1' WHERE setting_name='CIV_REG'";

  try
  {
      $stmt = mysqli_prepare($link, $query);
      mysqli_stmt_bind_param($stmt, "i", $uid);
      $result = mysqli_stmt_execute($stmt);

      if ($result == false)
      {
          die(mysqli_error($link));
      }
  }
  catch(Exception $e)
  {
      die("Failed to run query: " . $e->getMessage());
  }

  mysqli_close($link);

  session_start();
  $_SESSION['accessMessage'] = '<div class="alert alert-success"><span>Allowed Civilian Registration</span></div>';

  sleep(1);
  header("Location:".BASE_URL."/oc-admin/settingsManagement.php");
}

?>

最佳答案

您在 select() 函数内的查询中缺少列名称 setting_name 的反引号“`” 更改您的查询

来自

 $query = "UPDATE settings SET setting_status='0' WHERE `setting_name='CIV_REG'";

$query = "UPDATE settings SET `setting_status`='0' WHERE `setting_name`='CIV_REG'";

关于php - 一个按钮有效,另一个按钮无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49846996/

相关文章:

php - 上传文件 PHP 时生成唯一文件名的最佳方法

jquery - 用按钮打开一个新窗口?

javascript - 当 html 元素在用户屏幕上可见时执行 ajax

MySQL 左连接(未知列)

php - 列出某人的最新动态

php - 尝试使用 php 从存储在 phpmyadmin 中的数据库中选择数据时出错

php exec mysqldump 不起作用

mysql - 从与另一个表关联的表中删除重复项

php - 如何在 PHP 中检索从 Javascript 传递的数据数组?

jquery - 打开页面时放大和缩小图像