SQL 使用 SQL SRV (Php) 时查询执行错误
SQL Query Execute error when using SQL SRV (Php)
我正在尝试执行以下查询,但它提供了一个我找不到的语法错误。感谢您帮助解决问题。
错误
Array ( [0] => Array ( [0] => 07002 [SQLSTATE] => 07002 [1] => 0
[code] => 0 [2] => [Microsoft][ODBC Driver 17 for SQL Server]COUNT
field incorrect or syntax error [message] => [Microsoft][ODBC Driver
17 for SQL Server]COUNT field incorrect or syntax error ) )
<?php
session_start();
require_once '../../../config/dbconfig.php';
$sql = "EXEC smeProBizInspecInsert
@strLeadRefNo = ? ,
@strCustName = ? ,
@strEnteredBy = ? ,
@dtmEnteredDate = '',
@strInspectStatus = 'SMS06',
@strBranch = ? ";
$stmt=sqlsrv_prepare($conn,$sql,array(&$_POST['strLeadRefNo'],&$_POST['customerName'],&$_SESSION['NAME'], &$_SESSION['BRANCH']));
sqlsrv_execute($stmt);
$stmt = sqlsrv_prepare($conn, $sql);
if (!sqlsrv_execute($stmt)) {die( print_r( sqlsrv_errors(), true) );}
else {echo json_encode("success");}
?>
当我通过变量传递@dtmEnteredDate 和@strInspectStatus 时,问题已解决。另外我错误地保留了以下内容,导致了错误。
sqlsrv_execute($stmt); $stmt = sqlsrv_prepare($conn, $sql);
<?php
session_start();
require_once '../../../config/dbconfig.php';
$sql = "EXEC smeProBizInspecInsert
@strLeadRefNo = ? ,
@strCustName = ? ,
@strEnteredBy = ? ,
@dtmEnteredDate = ? ,
@strInspectStatus = ?,
@strBranch = ? ";
$edate = '';
$status = 'SMS06';
$stmt=sqlsrv_prepare($conn,$sql,array(&$_POST['strLeadRefNo'],&$_POST['customerName'],&$_SESSION['NAME'],
&$edate, &$status ,&$_SESSION['BRANCH']));
if (!sqlsrv_execute($stmt)) {
die( print_r( sqlsrv_errors(), true) );
}
else
{
echo json_encode("success");
}
?>
我正在尝试执行以下查询,但它提供了一个我找不到的语法错误。感谢您帮助解决问题。
错误
Array ( [0] => Array ( [0] => 07002 [SQLSTATE] => 07002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 17 for SQL Server]COUNT field incorrect or syntax error [message] => [Microsoft][ODBC Driver 17 for SQL Server]COUNT field incorrect or syntax error ) )
<?php
session_start();
require_once '../../../config/dbconfig.php';
$sql = "EXEC smeProBizInspecInsert
@strLeadRefNo = ? ,
@strCustName = ? ,
@strEnteredBy = ? ,
@dtmEnteredDate = '',
@strInspectStatus = 'SMS06',
@strBranch = ? ";
$stmt=sqlsrv_prepare($conn,$sql,array(&$_POST['strLeadRefNo'],&$_POST['customerName'],&$_SESSION['NAME'], &$_SESSION['BRANCH']));
sqlsrv_execute($stmt);
$stmt = sqlsrv_prepare($conn, $sql);
if (!sqlsrv_execute($stmt)) {die( print_r( sqlsrv_errors(), true) );}
else {echo json_encode("success");}
?>
当我通过变量传递@dtmEnteredDate 和@strInspectStatus 时,问题已解决。另外我错误地保留了以下内容,导致了错误。
sqlsrv_execute($stmt); $stmt = sqlsrv_prepare($conn, $sql);
<?php
session_start();
require_once '../../../config/dbconfig.php';
$sql = "EXEC smeProBizInspecInsert
@strLeadRefNo = ? ,
@strCustName = ? ,
@strEnteredBy = ? ,
@dtmEnteredDate = ? ,
@strInspectStatus = ?,
@strBranch = ? ";
$edate = '';
$status = 'SMS06';
$stmt=sqlsrv_prepare($conn,$sql,array(&$_POST['strLeadRefNo'],&$_POST['customerName'],&$_SESSION['NAME'],
&$edate, &$status ,&$_SESSION['BRANCH']));
if (!sqlsrv_execute($stmt)) {
die( print_r( sqlsrv_errors(), true) );
}
else
{
echo json_encode("success");
}
?>