Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

martinhocosta

Erro de sintaxe (T_CONSTANT_ENCAPSED_STRING inesperada)

Mensagens Recomendadas

martinhocosta

boas!!!

estou a aprender php e tive este erro que não consegui resolver

Erro.

(!) Erro de análise: erro de sintaxe, T_CONSTANT_ENCAPSED_STRING inesperada em C: \ wamp \ www \ enca \ index.php on line 64

//faz o upload da imagem
move_uploaded_file($imagem["tmp_name"], $caminho_imagem);
//insere os dados no banco
$sql= mysql_query("INSERT INTO plantas VALUES('','".$nome_imagem"', '".$nome_imagem"')");
// se der
if($sql)
{
  echo"FIXE";
}

não consigo corrigir o erro, alguém me pode dar uma dica!!!!=)

cumprimentos:)

a linha do erro é a seguinte

$sql= mysql_query("INSERT INTO plantas VALUES('','".$nome_imagem"', '".$nome_imagem"')");

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

O erro é porque começas os values do insert com ,

infelizmente o problema não é ai ... o problema não é de SQL mas sim de sintaxe do PHP

olha bem para o teu código :

//faz o upload da imagem
move_uploaded_file($imagem["tmp_name"], $caminho_imagem);

//insere os dados no banco
$sql= mysql_query("INSERT INTO plantas VALUES('','".$nome_imagem"', '".$nome_imagem"')");
//                                                              A                  A
//                                                              |                  |

// se der
if($sql)
{
 echo"FIXE";
}

Editado por HappyHippyHippo
  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Falta ai uns pontos para juntar as strings.

$sql= mysql_query("INSERT INTO plantas VALUES('','".$nome_imagem."', '".$nome_imagem."')");

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
martinhocosta

pois este já era=)

mas apareceu.me

Notice: Undefined variable: pós em C: \ wamp \ www \ enca \ index.php on line 17 Chamar Pilha # Tempo Memória Função Localização 1 0,0019 686360 {Main} () .. \ Index.php : 0

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
martinhocosta

ja sei qual era

mas não estou a conseguir inserir a minha imagem na base de dados

<form action="" method="post" enctype="multipart/form-data" name="Cadastrar">
        <input type="text" name="nomePlanta" />
       <input type="file" name="imagem"  />
       <input type="submit" name="Cadastrar" value="Cadastrar" />
</form>
<?php
$conn = @mysql_connect("localhost", "root", "martinho") or die("problemas de conexao");
$db = @mysql_select_db("databaseencaixa", $conn) or die("problemas de conexao");
//se o usuario clicou no botao cadastrar

if (isset($_post['Cadastrar'])) {
   //recuperar os dados dos campos
   $nomePlanta = $_POST['nomePlanta'];
   $imagem     = $_POST['imagem'];
   //se a foto estiver sido seleccionada
   if (!empty($imagem["name"])) {
       //largura maxima de pixeis
       $largura = 150;
       //altura maxima de pixeis
       $altura  = 180;
       //tamanho maximo do arquivo em bytes
       $tamanho = 1000;
       //verificar se o arquivo éuma imagem
       if (!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp", $imagem["type"])) {
           $error[1] = "isso nao é imagem";
       }
       //pega as dimensoes da imagem
       $dimensoes = getimagesize($imagem["tmp_name"]);
       //verifica se a largura da imagem é maior que a largura permitida
       if ($dimensoes[0] > $largura) {
           $error[2] = "isso nao é imagem";
       }
       //verifica se a altura da imagem é maior que a largura permitida
       if ($dimensoes[1] > $altura) {
           $error[3] = "isso nao é imagem";
       }
       //verifica se a imagem é maior e maior que o permitido
       if ($imagem["size"] > $tamanho) {
           $error[4] = "isso nao é imagem";
       }
       //se nao existir erros
       if (count($error) == 0) { //pega extencao da imagem
           preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem["name"], $ext);
           //gera nome unico para a imagem
           $nome_imagem    = md5(uniqid(time())) . "." . $ext[1];
           //caminho onde fica a imagem
           $caminho_imagem = "uploads/" . $nome_imagem;
           //faz o uploaf fa imagem
           move_uploaded_file($imagem["tmp_name"], $caminho_imagem);
           //insere os dados no banco
           $sql = mysql_query("INSERT INTO plantas VALUES('',$nomePlanta, $nome_imagem)");
           // se der
           if ($sql) {
               echo "FIXE";
           }
       }
       if (count($error) != 0) {
           foreach ($error as $erro) {
               echo $error;
           }
       }
   }
}
?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
martinhocosta

ja corrigi alguns erros mas continua a não funcionar!!!!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

</head>

<body>

<form action="" method="post" enctype="multipart/form-data" name="Cadastrar">

<input type="text" name="nomePlanta" />

<input type="file" name="imagem" />

<input type="submit" name="cadastrar" value="Cadastrar" />

</form>

<?php

$conn=@mysql_connect("localhost", "root", "martinho") or die ("problemas de conexao");

$db=@mysql_select_db("databaseencaixa", $conn) or die("problemas de conexao");

//se o usuario clicou no botao cadastrar

if(isset ($_post['cadastrar']))

{

//recuperar os dados dos campos

$nomePlanta=$_POST['nomePlanta'];

$imagem=$_FILES["imagem"];

//se a foto estiver sido seleccionada

if(!empty ($imagem["name"]))

{

//largura maxima de pixeis

$largura=150;

//altura maxima de pixeis

$altura=180;

//tamanho maximo do arquivo em bytes

$tamanho=1000;

//verificar se o arquivo éuma imagem

if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $imagem["type"]))

{

$error[1]="isso nao é imagem";

}

//pega as dimensoes da imagem

$dimensoes=getimagesize($imagem["tmp_name"]);

//verifica se a largura da imagem é maior que a largura permitida

if($dimensoes[0]>$largura)

{

$error[2]="isso nao é imagem";

}

//verifica se a altura da imagem é maior que a largura permitida

if($dimensoes[1]>$altura)

{

$error[3]="isso nao é imagem";

}

//verifica se a imagem é maior e maior que o permitido

if($imagem["size"]>$tamanho)

{

$error[4]="isso nao é imagem";

}

//se nao existir erros

if (count ($error)==0)

{//pega extencao da imagem

preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$imagem["name"], $ext);

//gera nome unico para a imagem

$nome_imagem=md5(uniqid(time())). "." . $ext[1];

//caminho onde fica a imagem

$caminho_imagem="uploads/" . $nome_imagem;

//faz o uploaf fa imagem

move_uploaded_file($imagem["tmp_name"], $caminho_imagem);

//insere os dados no banco

$sql= mysql_query("INSERT INTO plantas VALUES('','".$nomePlanta."', '".$nome_imagem."')");

// se der

if($sql)

{

echo"FIXE";

}

}

if (count($error)!= 0)

{

foreach($error as $erro)

{

echo $error;

}

}

}

}

?>

</body>

</html>

cumprimentos,

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
martinhocosta

(!) Warning: preg_match () [ function.preg-match ]: No final do delimitador '/' encontrado em C: \ wamp \ www \ enca \ usuario.php na linha 20 Chamar Pilha # Tempo Memória Função Localização 1 0,0014 690768 {Main} () .. \ Usuario.php : 0 2 0,0029 692856 preg_match () .. \ Usuario.php : 20

preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$imagem["name"], $ext);

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$imagem["name"], $ext);
//           A
//           |
//        para que serve este caracter '\' ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
martinhocosta

esta linha não me está a armazenar na base de dados???

$sql= mysql_query("INSERT INTO plantas VALUES('','".$nomePlanta."', '".$nome_imagem."')");

Editado por yoda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
N3lson

esta linha não me está a armazenar na base de dados???

$sql= mysql_query("INSERT INTO plantas VALUES('','".$nomePlanta."', '".$nome_imagem."')");

Altera para,.... e testa

$sql="INSERT INTO plantas VALUES('','".$nomePlanta."', '".$nome_imagem."')";

mysql_query($sql);


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.