在网页上点击按钮后,我正在对表格中的数据进行更改,但出现下一个错误:
Array
(
[0] => Array
(
[0] => 07002
[SQLSTATE] => 07002
[1] => 0
[code] => 0
[2] => [Microsoft][ODBC Driver 13 for SQL Server]COUNT field incorrect or syntax error
[message] => [Microsoft][ODBC Driver 13 for SQL Server]COUNT field incorrect or syntax error
)
)
我已经查看了几个小时的代码,但我还没有找到错字。这是代码:
<?php
ini_set('max_execution_time', 300);
$serverName = "serverName\SQLEXPRESS";
$connectionInfo = array( "Database"=>"dataBase", "UID"=>"user", "PWD"=>"pass");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql1 = "DECLARE @a INT ". PHP_EOL;
$sql1 .= "SELECT @a = condLot FROM productos WHERE prodID = ? ". PHP_EOL;
$sql1 .= "IF (@a > 0) ". PHP_EOL;
$sql1 .= "UPDATE productos SET estadoAl = (estadoAl + 1), condLot = (condLot - 1) FROM productos WHERE prodID = ? ". PHP_EOL;
$sql1 .= "ELSE ". PHP_EOL;
$sql1 .= "UPDATE productos SET estadoAl = (estadoAl + 1) FROM productos WHERE prodID = ? ". PHP_EOL;
$var = array($_GET["idProd"]);
$stmt1 = sqlsrv_query( $conn, $sql1, $var);
if( $stmt1 === false ) {
die( print_r( sqlsrv_errors(), true));
}
答案 0 :(得分:4)
更新查询没有from
条款。请尝试以下代码。
$sql1 .= "UPDATE productos SET estadoAl = (estadoAl + 1), condLot = (condLot - 1) WHERE prodID = ? ". PHP_EOL;