Перемещение записей в SQL на основе ввода формы HTML - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь переместить записи базы данных на основе ввода формы, но, похоже, возникла проблема.Я пробовал ниже, но он не выполняет команду в базе данных.Он должен прочитать значение для решения и выполнить запрос, основанный на решении. Кто-нибудь может определить проблему здесь?Я запустил запрос в SQL Server, и он работает.

Код HTML-формы:

<!--Other Form-->
 <center>
  <div class="container">
    <form action="dLG.php" onsubmit="return confirm('Are you sure you wish to delete ?');">
      <div class="row">
        <div class="col-25">
          <label for="License Group ID">Enter the License Group ID that you wish to delete</label>
        </div>
        <div class="col-75">
          <input type="number" name="LicenseGroupID" placeholder="LicenseGroupID">
        </div>
      </div>
      <br>
      <div class="row">
        <input type="submit" value="Delete License Group">
      </div>
    </form>
  </div>
</center>

php:

<html>
<?php 
$serverName = "x";
$options = array(  "UID" => "x",  "PWD" => "x",    "Database" => "x");
$conn = sqlsrv_connect($serverName, $options);
if( $conn === false )
 {
 echo "Could not connect.\n";
 die( print_r( sqlsrv_errors(), true));
 }  
$License_Group_ID = $_POST['LicenseGroupID']; 

$query = "DELETE FROM dbo.tbl_license_group
        OUTPUT 
        deleted.License_Group_ID,
        deleted.Vendor_Name,
        deleted.License_Version,
        deleted.Edition,
        deleted.Operating_System,
        deleted.Quantity            
        INTO dbo.tbl_license_group_delete(License_Group_ID, Vendor_Name, License_Version,Edition,Quantity)
        WHERE  License_Group_ID = '$License_Group_ID'; " ;        
       $params1 = array($License_Group_ID);                       
       $result = sqlsrv_query($conn,$query,$params1);
       sqlsrv_close($conn);
       ?>
       </html>

1 Ответ

0 голосов
/ 22 мая 2018

По умолчанию используется метод формы GET, а не POST.Если вы хотите использовать POST (и вы должны в этом случае), используйте:

<form action=".." method="post"  onsubmit="...">
...
</form>

Вторая проблема связана со строкой запроса $.Он должен использовать параметры, подобные этим:

$query = "DELETE ... WHERE  License_Group_ID = ?; " ;

PS: лучше использовать PDO, чем функции sqlsrv_ *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...