Jump to content
martinhocosta

Erro de sintaxe (T_CONSTANT_ENCAPSED_STRING inesperada)

Recommended Posts

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"')");

Share this post


Link to post
Share on other sites
tiagotavares

Boas,

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

Espero ter ajudado


Tiago Tavares

Share this post


Link to post
Share on other 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";
}

Edited by HappyHippyHippo
  • Vote 1

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

Share this post


Link to post
Share on other sites
nelsonr

Falta ai uns pontos para juntar as strings.

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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;
           }
       }
   }
}
?>

Share this post


Link to post
Share on other sites
martinhocosta

tenho este para fazer o upload?

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

Share this post


Link to post
Share on other 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,

Share this post


Link to post
Share on other 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);

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
martinhocosta

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

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

Edited by yoda

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.