Registration error with php photo

Asked

Viewed 40 times

1

I’m trying to make a register of works, and uploaded image done path.

if (isset($_POST['enviar'])){

//cria as variaveis, uma para cada input
$nome = isset($_POST['nome']) ? $_POST['nome']: null;
$tamanho = isset($_POST['tamanho']) ? $_POST['tamanho']: null;
$tecnica = isset($_POST['tecnica']) ? $_POST['tecnica']: null;
$data = isset($_POST['data']) ? $_POST['data']: null;
$local= isset($_POST['local']) ? $_POST['local']: null;
$imagem =  $_FILES['arquivo']['tmp_name'];

//verificação do campo

    if(empty($nome && $tamanho && $tecnica && $data && $local && $imagem)){
    echo "Os campos são obrigatórios. Por favor preencha-os.";
    exit;
}

    if(empty($nome)){
    echo "O campo nomenclatura é obrigatório.";
    exit;
}

    if(empty($tamanho)){
    echo "O campo tamanho é obrigatório.";
    exit;
}   
    if(empty($tecnica)){
    echo "O campo técnica é obrigatório.";
    exit;
}
    if(empty($data)){
    echo "O campo data é obrigatório.";
    exit;
}

    if(empty($local)){
    echo "O campo local é obrigatório.";
    exit;
}

    if(empty($imagem)){
    echo "O campo imagem é obrigatório.";
    exit;
}

if(isset($_FILES['imagem'])){
    $formPermitidos = array("png","jpeg","jpg","gif");
    $extensao = pathinfo($_FILES['arquivo']['name'],PATHINFO_EXTENSION);

    if(in_array($extensao,$formPermitidos)){
        $pasta = "arquivo/";
        $tempo = $_FILES ['arquivo']['tmp_name'];
        $novoNome = uniqid().".$extensao";

           if(move_uploaded_file($tempo,$pasta.$novoNome)){
            $_SESSION['msg'] = "Upload concluido.";
           }

       }

    }

//cria o sql da operação
 $sql = "INSERT INTO produto (cod_produto, nomenclatura, tamanho, tecnica, data, local, imagem) VALUES
 (default,:nome, :tamanho, :tecnica, :data, :local,:imagem";

//inserir um :campo para cada campo da tabela

//pedindo para o pdo fazer o comando sql
$stmt = $pdo->prepare($sql);
// criar um para cada campo colocado no fim do sql
$stmt->bindParam(':nome',$nome);
$stmt->bindParam(':tamanho',$tamanho);
$stmt->bindParam(':tecnica',$tecnica);
$stmt->bindParam(':data',$data);
$stmt->bindParam(':local',$local);
$stmt->bindParam(':imagem',$novoNome);

if ($stmt->execute()){
    echo "Cadastrado com sucesso";
    header('Location: produtos.php');
}else{
    echo "Erro ao cadastrar";
    print_r($stmt->errorInfo());
}


}
?>

but of error

Fatal error: Uncaught Pdoexception: SQLSTATE[42000]: Syntax error or access Violation: 1064 You have an error in your SQL syntax; check the manual that Corresponds to your Mariadb server version for the right syntax to use near '' at line 2 in C: xampp htdocs tcc product registration.php:162 Stack trace: #0 C: xampp htdocs tcc cadastroproduct.php(162): Pdostatement->execute() #1 {main} thrown in C: xampp htdocs tcc cadastroproduto.php on line 162

  • 1

    the error is in query sql, maybe it is because of the lack of parenthesis closure in this excerpt: (default,:name, :size, :technique, :date, :location,:image";

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.