SqlServer 저장 프로 시저에서 반환 값을 가져 오려고합니다. 하지만 FreeTDS를 사용하는 우분투 서버에 구문 오류가 있습니다. 내 윈도우 머신에서반환 값으로 Lumen에서 PHP PDO를 사용하여 SQL Server 저장 프로 시저를 호출하면 구문 오류가 발생합니다.
$stateId = 1;
$testData = 0;
$retVal = 0;
$pdo = DB::connection(env('DBCONNECTION'))->getPdo();
$stmt = $pdo->prepare('EXEC ? = GetMyCities_sp @StateID = ?, @TestData = ?');
$stmt->bindParam(1, $retVal, \PDO::PARAM_INT,20);
$stmt->bindParam(2, $stateId, \PDO::PARAM_INT);
$stmt->bindParam(3, $testData, \PDO::PARAM_INT | \PDO::PARAM_INPUT_OUTPUT, 20);
$result_status = $stmt->execute();
$resultSet = $stmt->fetchAll(\PDO::FETCH_OBJ);
print_r($resultSet);
echo "<br />";
$stmt->nextRowset();
echo "Return value is ".$retVal;
같은 작품 잘 :
SQLSTATE[HY000]: General error: 20018 Incorrect syntax near '0'. [20018] (severity 15) [(null)]
다음은 내 코드입니다. 코드에서 무엇이 잘못 되었습니까?
당신이 봤어? https://bugs.php.net/bug.php?id=58514 –
네,하지만이 둘이 정확히 같은지 확실하지 않습니다. 예외가 발생했습니다. param은 올바른 위치에서 가져 왔지만 실행하는 동안 구문 오류가 표시됩니다. – Beniston
자리 표시자는 키워드/식별자가 아닌 VALUES 만 나타낼 수 있습니다. –