我想使用以下代码从我的 mssql 数据库中检索一些数据:
public function areaGetCities($json){
$request = json_decode($json);
$response = '';
$response->list = array();
if (!empty($request->language_id) &&
!empty($request->country_id) &&
!empty($request->postal_code)){
$this->db_stmt = new PDOStatement();
$this->db_stmt = $this->db->prepare('EXECUTE areaGetCities :language_id, :country_id, :postal_code');
$this->db_stmt->bindParam(':language_id', $request->language_id, PDO::PARAM_INT);
$this->db_stmt->bindParam(':country_id', $request->country_id, PDO::PARAM_INT);
$this->db_stmt->bindParam(':postal_code', $request->postal_code, PDO::PARAM_STR, 40);
$this->db_stmt->execute();
while ($obj = $this->db_stmt->fetchObject()){
$response->list[] = $obj;
unset($obj);
}
}
return json_encode($response);
}
如果我打印 errorInfo() 我得到
尝试绑定参数号 0。SQL Server 最多支持 2100 个参数。IMSSP -29
我的问题是我没有从我的数据库中得到任何结果,我必须得到(我用相同的参数运行了这个过程,我得到了 2 个结果)。
想法?
编辑:我编辑了我的代码。现在我得到:
[Microsoft][SQL Server Native Client 11.0][SQL Server]形参“@postal_code”>没有声明为OUTPUT参数,而是传入请求的实际参数>输出。
CREATE PROCEDURE areaGetCities(@language_id TINYINT, @country_id INT, @postal_code VARCHAR(40))