Olá, pessoal! Bom dia!
Estou fazendo algumas modificações em um código para que os parâmetros sejam recebidos fora da query, buscando evitar SQL INJECTION... Todos os tipos de dados inseridos dessa forma funcionaram normalmente até agora, porém uma das minhas variáveis retornar um float, e nesse caso eu recebo um warning nesse oci_bind_by_name e consequentemente no oci_execute. Como posso fazer para receber dados do tipo float por meio do oci_bind_by_name?
*OBS: quando esses dados são passados diretamente dentro da query, ela continua rodando normal. Só retorna erro quando os valores são passados por parâmetro.
function x (...) {
vlCredito = 0.00;
vlLimite = 0.00;
if ($modalidade == "X" || $modalidade == "Y") {
$vlCredito = $grupopedido["vl_credito"];
} else {
$vlLimite = $grupopedido["vl_credito"];
}
$strsql = "INSERT INTO tabelaX
((...)
VL_CREDITO,
VL_LIMITE,
(...))
VALUES ( (...), :vlCredito, vlLimite, (...) )";
$sql = oci_parse($co, $strsql);
oci_bind_by_name = (...) //Todos os parâmetros passados antes e depois dos campos que estão com problema foram individualmente testado e estão funcionando.
oci_bind_by_name($value , "VL_CREDITO" , $vlCredito, -1, SQLT_INT);
oci_bind_by_name($value , "VL_LIMITE" , $vlLimite, -1, SQLT_INT);
oci_bind_by_name = (...)
oci_execute($sql, OCI_DEFAULT);