为什么我的PHP / MySQL更新查询根本不起作用?

时间:2018-07-16 17:29:37

标签: php mysql

仅根据当前条目是否为第一个($count)运行更新查询。问题是我的更新查询没有做任何事情,但是肯定是在输入if语句。这是我的代码:

if ($count <= 0) {
  echo json_encode('entered if');
  $conn->query( "UPDATE tblProjects SET ProjectStatus = 2, StartDate = '$por' WHERE PROJECTNOID = '$proj'");
  exit();
 }else{
  echo json_encode('entered else');
  exit();
 }

正如我之前提到的,我可以使用值将其输入到mysql编辑器中,它不会更新。我也知道$proj$por的值是正确的。我正在运行echo json_encode($proj);echo json_encode($por);,它们在浏览器中返回"195""2018-07-19"。这就是为什么我认为问题出在$conn->query( "UPDATE tblProjects SET ProjectStatus = 2, StartDate = '$por' WHERE PROJECTNOID = '$proj'");

上的原因

我所做的错误日志中没有记录任何内容。也不要对我已经知道的准备好的语句发表评论。如果我多次刷新表单,则会创建更多条目,并且由于某种原因会在不应该运行更新查询的情况下运行。

编辑:如果使用以下命令,这似乎可行:

  if ($count <= 0) {
   echo json_encode('entered if');
   $qr = "UPDATE tblProjects SET ProjectStatus = 2, StartDate = '$por' WHERE PROJECTNOID = '$proj'";
   $conn->query($qr);
   echo json_encode($qr);
   exit();
  }else{
   echo json_encode('entered else');
   exit();
  }

但是我仍然不明白为什么会这样。这两种方式不是同一回事吗?

编辑2:带有发布到此脚本的jQuery的完整脚本

完整脚本(PHP):

<?php
  require "../../inc/dbinfo.inc";

  ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

  error_reporting(E_ALL);
  ini_set("log_errors", 1);
  ini_set("error_log", "/tmp/php-error.log");
  error_log( "#################################################     UP-PROJECT-STATUS.PHP    #################################################" );

  $proj = $_POST['projectnum'];
  $por = $_POST['por'];

  //Check count of customer pos
  $sql = mysqli_query($conn, "SELECT COUNT(*) AS numpo FROM tblCustomerPOs WHERE ProjectNum = '$proj'"); //On the first customer po for the project
  $res = mysqli_fetch_object($sql);
  $count = $res->numpo;
  $count = intval($count);


  if ($count <= 0) {
   echo json_encode('entered if');
   $conn->query( "UPDATE tblProjects SET ProjectStatus = 2, StartDate = '$por' WHERE PROJECTNOID = '$proj'");
   echo json_encode($qr);
   exit();
  }else{
   echo json_encode('entered else');
   exit();
  }
?>

jQuery:

$('#submit_btn').click(function(){
            var projectnum = $('#projectnum').val();
            var por = $('#porval').val();
            var data_String;
             data_String = 'projectnum='+projectnum+'&por='+por;
             if (por) {
               $.post('fetch/up-project-status.php',data_String,function(data){
                 var data = jQuery.parseJSON(data);
               });
             }
            });

0 个答案:

没有答案