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
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";
– Gabriel José de Oliveira