Langsung ke konten utama

Run multiple SQL Server queries in php

 I would like to run several SQL Server queries in php but he does not want to accept that with me. Here is my php script:

<?php

      error_reporting(0);

      $serverName = "SERVERNAME";
      $connectionInfo = array( "UID"=>"Username", "PWD"=>"password", "Database"=>"databasename", "MultipleActiveResultSets"=>true);

      $conn = sqlsrv_connect( $serverName, $connectionInfo);

     if( $conn == false ) {
          die( print_r( sqlsrv_errors(), true));
     }

     $sql = "INSERT INTO TABLE (column) VALUES (?)";
     $tsql = "INSERT INTO TABLE_NEW(column, column, column) Values (?, 'INSERT', 'WEBSERVER')";
     $params = array($_POST["addSomething"]);

       $stmt = sqlsrv_query( $conn, $sql, $params, $tsql, $params);
       if( $stmt == false ) {
         die(print_r( sqlsrv_errors(), true));
       }
       else
       {
           echo '<script language="javascript">';
           echo 'alert(Alert what Happend!)';  //not showing an alert box.
           echo '</script>';
       }
       sqlsrv_close($conn);
       ?>

Answer:

You can not pass more than one statement to sqlsrv_query(). In your case you have two options:

  • Generate one complex T-SQL statement. In this case, the number of placeholders must match the number of passed parameters.
  • Execute each statement separately

Complex statement:

<?php
...
$sql = "
    INSERT INTO TABLE (column) VALUES (?); 
    INSERT INTO TABLE_NEW(column, column, column) Values (?, 'INSERT', 'WEBSERVER')
";
$params = array(
    $_POST["addSomething"],
    $_POST["addSomething"]
);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false ) {
   # Your code here
} else {
   # Your code here
}
...
?>

Notes:

PHP Driver for SQL Server supports multiple result sets. If you use one complex statement and one or more of your statements are SELECT statements, you need to call sqlsrv_next_result() to make active the next result (first result is active by default).

Komentar

Postingan populer dari blog ini

Totolink N300RT

Panduan singkat install OpenWrt Totolink N300RT Download FrmUpg :  http://www.anphat.vn/download/FirmwareUpgradeTool.zip Putty : http://www.putty.org/ Frimware totolink v2.1.6 :  http://www.totolink.net/include/download.asp?path=down/010300&file=N300RT-V2.1.6_20160516.zip Bootloder boot96E_32M:  https://drive.google.com/open?id=1p0SreEifzElS_cyngZZRL2lmGnR-Mvvi OpenWrt  :  https://drive.google.com/open?id=1ykv6QkrqXJ_8vnX-6imib44XGFVNJZoA A. Downgrade Frimware Totolink ke v2.1.6 Dalam router dalam keadaan mati tekan Tombol Reset lalu hidupkan power. tunggu sampai lampu indikator lan berkedip. Matikan Firewall dan Buka FrmUpg.exe dan colokan LAN ke Port 1,2,3,4 Di Frimware File pilih file Totolink v2.1.6 dan klik send, Tunggu sampai prosess selesai lalu restart router, cek 192.168.1.1 apakah sudah berhasil downgrade. B. Upgrade OpenWrt Ulangi langkah no 1, Pilih file bootloder boot96E_32M. klik send. tunggu sampai selesa...

Primary and Foreign Keys and Relationships

Keys Primary and Foreign Keys   Relationships One-to-Many and Many-to-Many Relationships