admin

如何获取PHP / SQL / AJAX中数据的最后一个增量值

sql

我所做的是,当我输入一个数量为5的数据时,例如将其命名为“ ABC-1000”,结果是ABC-1001 …
ABC-1005,现在我的目标是当我记录另一组数据时并输入ABC-1005中应该开始的任何数量,这对我来说有点棘手。我尝试在使用子查询来获得最大结果的地方进行查询,但是它仍然存在一些错误

这是我的HTML代码

<div class="form-group">
  <label> Tools Name: </label>
     <select class="form-control selectpicker" name="tools_name" placeholder="Enter Tools Name" data- 
      live-search="true" onchange="ToolsChange(this)">
      <option value="" selected>Select Tools Name</option>
       <?php
         $result = mysqli_query($con, "CALL GetInformationUsingToolSpec()");
         $con->next_result();
         if(mysqli_num_rows($result)>0)
         {
            while($row=mysqli_fetch_assoc($result))
            {
            echo '<option value="'.$row['tools_name'].'">' .  
            $row['tools_name'].'</option>';
            }
         }                                               
       ?>
      </select>
</div>

这是我的ajax调用中的查询。

<?php

include("../include/connect.php");


    if(isset($_POST['tools_id'])){

        $ID = $_POST['tools_id'];

        $query = "SELECT tools_masterlist.control_no, tools_masterlist.tools_id, tools_masterlist.tools_name, 
        tools_spec.model_num,tools_spec.model_num_val 
        FROM tools_spec 
        LEFT JOIN tools_masterlist 
        ON tools_spec.tools_id = tools_masterlist.tools_id WHERE tools_name = '$ID'";
        // $result=mysqli_query($con, "CALL 
        GetAjaxForToolsRegistration('$ID')");
        $con->next_result();
        $result=mysqli_query($con, $query);
        if(mysqli_num_rows($result)>0)
        {
            while($row=mysqli_fetch_assoc($result))
            {
                echo $row['control_no'] . " " . $row['model_num'];
            }
        }
    }
?>

阅读 139

收藏
2021-07-01

共1个答案

admin

首先,我想将您的意图用于SQL注入,因为您的用户可以在输入字段中输入任何内容。您是在手动构建查询,而不是使用参数化的预处理语句。您应该知道如何使用
htmlspecialchars() 函数。

所以 .......

$ID = $_POST['tools_id'];

应该转换为

$ID = htmlspecialchars($_POST['tools_id'], ENT_QUOTES);

您应该在调用存储过程之后调用 next_result() 函数。

另外,您应该添加一个单独的列来存储数值,而不是与其他合并或串联。

2021-07-01