Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera estou tendo esse erro
INSERT INTO gw_setoresimpressao (descricao, idloja) VALUES ('', '')Incorrect integer value: '' for column 'idloja' at row 1
Ocorreu um erro na execução do Comando SQL no banco de dados
<?php
header('Access-Control-Allow-Origin: *');
header("Content-Type: text/html; charset=UTF-8", true);
require_once 'classes/cls_db.php';
include 'classes/gravar.php';
include 'classes/alterar.php';
include 'classes/excluir.php';
include 'classes/jsongrid.php';
if (isset($_GET ['acao'] )){
$acao = $_GET['acao'];
}else{
$acao = "";
}
if (isset($_GET ['id'] )){
$id = $_GET['id'];
}else{
$id = "";
}
if (isset($_GET ['descricao'] )){
$descricao = $_GET['descricao'];
}else{
$descricao = "";
}
if (isset($_GET ['idloja'] )){
$idloja = $_GET['idloja'];
}else{
$idloja = "";
}
if (isset($_GET ['codigo_operador'] )){
$codigo_operador = $_GET['codigo_operador'];
}else{
$codigo_operador = "";
}
if (isset($_GET ['nome_operador'] )){
$nome_operador = $_GET['nome_operador'];
}else{
$nome_operador = "";
}
if($acao == "gravar"){
try {
$gravar = new gravar();
$gravar->id = $id;
$gravar->descricao = $descricao;
$gravar->idloja = $idloja;
$gravar->codigo_operador = $codigo_operador;
$gravar->nome_operador = $nome_operador;
$json = $gravar->gravar();
echo json_encode($json);
} catch (Exception $ex) {
$json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));
echo json_encode($json, JSON_NUMERIC_CHECK);
}
}
if($acao == "alterar"){
try {
$alterar = new alterar();
$alterar->id = $id;
$alterar->descricao = $descricao;
$alterar->idloja = $idloja;
$alterar->codigo_operador = $codigo_operador;
$alterar->nome_operador = $nome_operador;
$json = $alterar->alterar();
echo json_encode($json);
} catch (Exception $ex) {
$json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));
echo json_encode($json, JSON_NUMERIC_CHECK);
}
}
if($acao == "excluir"){
try {
$excluir = new excluir();
$excluir->id = $id;
$json = $excluir->excluir();
echo json_encode($json);
} catch (Exception $ex) {
$json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));
echo json_encode($json, JSON_NUMERIC_CHECK);
}
}
if($acao == "jsongrid"){
try {
$json = jsongrid();
echo json_encode($json);
} catch (Exception $ex) {
$json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));
echo json_encode($json, JSON_NUMERIC_CHECK);
}
}
<?php
header('Access-Control-Allow-Origin: *');
header("Content-Type: text/html; charset=UTF-8", true);
require_once 'cls_db.php';
class gravar {
public $descricao;
public $idloja;
public $datahora;
public $codigo_operador;
public $nome_operador;
public $id;
function gravar(){
date_default_timezone_set('America/Sao_Paulo');
$this->datahora = date('Y-m-d H:i:s');
$json = array();
$objDb = new cls_db();
$link = $objDb->conecta_mysql();
$consulta = $objDb->MysqlExecuta("SELECT * FROM gw_setoresimpressao WHERE descricao='$this->descricao' AND idloja='$this->idloja'");
$resultado = mysql_num_rows($consulta);
$valor = 0;
if ($resultado == $valor) {
$objDb->MysqlExecuta("INSERT INTO gw_setoresimpressao (descricao, idloja) VALUES ('$this->descricao', '$this->idloja')");
$objDb->MysqlExecuta("UPDATE gw_setoresimpressao SET datahora='$this->datahora', codigo_operador='$this->codigo_operador', nome_operador='$this->nome_operador' "
. "WHERE descricao='$this->descricao' AND idloja='$this->idloja'");
return true;
} else {
return false;
}
}
}
esse é o meu codigo, me ajudem por favorOlá, acredito que o campo idloja no banco seja int, e quando você passa entre aspas simples no insert o valor do idloja, o MySQL entende que é uma String, assim não deixará inserir.
Tenta passar sem aspas simples, apenas idloja ou com this no seu caso, ou um valor fixo inteiro para testar.
>
Em 10/11/2018 at 10:20, marcosmarcolin disse:
Olá, acredito que o campo idloja no banco seja int, e quando você passa entre aspas simples no insert o valor do idloja, o MySQL entende que é uma String, assim não deixará inserir.
Tenta passar sem aspas simples, apenas idloja ou com this no seu caso, ou um valor fixo inteiro para testar.
Quando eu passo com um valor fixo ele insere normal, tirei aspas simples e mesmo assim não suncionou.
Consegui resolver aqui, mas não faço ideia do que fiz pra resolver.
deu nem tempo de comemorar e o erro voltou novamente
O valor que está sendo enviado esta correto, estava funcionando normal e de repente começou a dar esse erro do nada
Ôpa! blz?
O erro tá dizendo que o valor de idloja tá incorreto, mano!
Verifique o valor que está sendo enviado.