使用PHP(sqlsrv)将数据安全地保存到MSSQL的最佳方法是什么?

时间:2017-06-21 00:34:30

标签: php sql sql-server object sqlsrv

我有以下对象,我通过AJAX帖子请求从Javascript解析为PHP。

enter image description here

使用PHP将此数据安全地插入SQL的最佳方法是什么?

对象的所有键都作为表中的列存在。所以我认为我需要找到一种方法来遍历对象并创建一个如下语句:

insert into table (email, first_name, last_name) VALUES ('email@host.net', 'Joe', 'Bloggs'),('email2@host2.net', 'Fred', 'Flintstone')

但是,我怀疑这种方法会让我面临SQL注入的风险。

我听说过准备好的声明'作为使用mysqli完成此操作的一种方法,我不确定这是否适用于sqlsrv。

这是我到目前为止所做的:

<?php
$serverName = "server";
$connInfo = array("Database"=>"database", "UID"=>"sa", "PWD"=>"password");
$conn = sqlsrv_connect($serverName, $connInfo);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $json = file_get_contents("php://input");
  $data = json_decode($json, true);  ///  <----- THIS IS THE OBJECT WHICH HAS BEEN PARSED FROM JS VIA AJAX
  $sql = ""; /// <--- I need to create an insert statement???

  /////Execute the statement
  if($conn){
    $stmt = sqlsrv_query( $conn, $sql);
    if( $stmt === false ) {
      die( print_r( sqlsrv_errors(), true));
    }//end if
    echo json_encode("Record created successfully. ");
  }//end if
  /////End of Execute the statement

}//end if
else{
  echo json_encode("ERROR: record did not save correctly to MSSQL.");
  die( print_r(sqlsrv_errors(), true));
}//end else
?>

0 个答案:

没有答案