我想用下面的代碼中檢索從我的MSSQL數據庫的一些數據:PHP web服務與PDO
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))
你從哪裏看到'@'用於爲PDOStatement參數添加前綴?它是':'對於命名參數,'''對於基於索引的參數。 –
向我們展示您的存儲過程。 – kba
該過程不返回任何內容。 –