Uncaught exception 'PDOException' with message 'SQLSTATE[I
Galera,
Estou com uma página PHP funcionando no Windows 2008, inclusive carregando os dados dos comboboxs que veem do banco de dando MS SQL Server 2008, mas ao utilizar a busca, gera a seguinte mensagem de erro:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[iMSSP]: Tried to bind parameter number 0. SQL Server supports a maximum of 2100 parameters.' in C:\inetpub\wwwroot\GAV\Fornecedor.php:166 Stack trace: #0 C:\inetpub\wwwroot\GAV\Fornecedor.php(166): PDOStatement->execute() #1 {main} thrown in C:\inetpub\wwwroot\GAV\Fornecedor.php on line166
Abaixo segue o código e destaque na linha 166 - $stmt->execute();
$sql = "SELECT dbo.EFORNEC.CODFOR, dbo.EFORNEC.NOMFOR, dbo.EFORNEC.RAZAOSOC, dbo.EFORNEC.PESSOAFISJUR, dbo.EFORNEC.CGCCPF, ";
$sql = $sql . " dbo.EFORNEC.INSCRRG, dbo.EFORNEC.CODTIPO, dbo.EFORNEC.SITUACAO, dbo.EFORNEC.ENDERECO, dbo.EFORNEC.SIGLACID,";
$sql = $sql . "dbo.EFORNEC.CEP, dbo.EFORNEC.BAIRRO, dbo.ECIDADE.DESCRCID, dbo.ECIDADE.SIGLAESTADO, dbo.ECIDADE.DDD, ";
$sql = $sql . "dbo.EESTADO.DESCRESTADO, dbo.EFORNEC.FONES ";
$sql = $sql . "FROM dbo.EFORNEC ";
$sql = $sql . "INNER JOIN dbo.ECIDADE ON dbo.EFORNEC.SIGLACID = dbo.ECIDADE.SIGLACID ";
$sql = $sql . "INNER JOIN dbo.EESTADO ON dbo.ECIDADE.SIGLAESTADO = dbo.EESTADO.SIGLAESTADO ";
if (!empty($_POST['Nome_Fantasia'])){
$sql = $sql . "AND dbo.EFORNEC.NOMFOR LIKE '%".$_POST['Nome_Fantasia']."%' ";
}
if(!empty($_POST['CPF'])){
$sql = $sql . "AND dbo.EFORNEC.CGCCPF = '".$_POST['CPF']."' ";
}
if(!empty($_POST['CNPJ'])){
$sql = $sql . "AND dbo.EFORNEC.CGCCPF = '".$_POST['CNPJ']."' ";
}
if(!empty($_POST['TipoFornecedor'])){
$sql = $sql . "AND dbo.EFORNEC.CODTIPO = '".$_POST['TipoFornecedor']."' ";
}
if(!empty($_POST['Estado'])){
$sql = $sql . "AND dbo.ECIDADE.SIGLAESTADO = '".$_POST['Estado']."' ";
}
if(!empty($_POST['Cidade'])){
$sql = $sql . "AND dbo.EFORNEC.SIGLACID = '".$_POST['Cidade']."' ";
}
$sql = $sql . "ORDER BY dbo.EFORNEC.NOMFOR ASC";
//print_r($sql);
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':Nome_Fantasia', $_POST['Nome_Fantasia'], PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 200);
$stmt->bindParam(':CPF', $_POST['CPF'], PDO::PARAM_STR);
$stmt->bindParam(':CNPJ', $_POST['CNPJ'], PDO::PARAM_STR);
$stmt->bindParam(':TipoFornecedor', $_POST['TipoFornecedor'], PDO::PARAM_STR);
$stmt->bindParam(':Estado', $_POST['Estado'], PDO::PARAM_STR);
$stmt->bindParam(':Cidade', $_POST['Cidade'], PDO::PARAM_STR);
print_r($stmt);
$stmt->execute(); //LINHA 166
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
Alguém pode me informar onde está o erro?
Discussão (8)
Carregando comentários...