Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Erro ao tentar conectar/enviar dados ao banco de dados MySQL por script PHP

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Erro ao tentar conectar/enviar dados ao banco de dados MySQL por script PHP

    Olá amigos, estou aprendendo a programar com PHP pelo livro 'Use a cabeça', só que quando eu tento realizar um exercício do livro, que seria tentar adicionar informações a uma tabela de banco de dados por um script PHP. Eu digitei exatamento como está no livro, mas o navegador retorna a mensagem: Parse error: syntax error, unexpected 'Sally' (T_STRING) in C:\wamp\www\HeadFirst\report.php on line 22.
    Sally é o nome de uma pessoa que preencheu um formulário anterior, só que essas informações do formulário foi inserida por mim mesmo direto no código PHP, da forma que está no livro. Penso que seria, a princípio, porque depois, em outras partes do livro, eles nos ensinariam a pegar a informação que for inserida pelo próprio usuário e não pelo programador. Segue código completo:

    Código:
    <html>
    <head>
    <title>Aliens Abducted me - Report an Abduction</title>
    </head>
    <body>
    <?php
    $name = $_POST ['name'];
    $how_many = $_POST ['howmany'];
    $what_they_did = $_POST ['whattheydid'];
    $other = $_POST ['other'];
    $when_it_happened = $_POST ['whenithappened'];
    $how_long = $_POST['howlong'];
    $alien_description = $_POST['aliendescription'];
    $fang_spotted = $_POST['fangspotted'];
    $email = $_POST['email'];
     
    $dbc = mysqli_connect ('localhost', 'root', 'asuga080396', 'aliendatabase')
    or die ('Error connecting to MySQL server.');
    $query = 'INSERT INTO aliens_abduction (first_name, last_name, " .
    "when_it_happened, how_long, how_many, alien_description, " .
    "what_they_did, fang_spotted, other, email) " .
    "VALUES ('Sally', 'Jones', '3 dias atrás', '1 dia', 'quatro', " .
    "'verde com seis tentáculos', 'Nós só conversamos e brincamos com um cachorro', " .
    "'sim', 'Acho que posso ter visto o seu cão. Entre em contato.', " .
    "'sally@gregs-list.net')";
     
    $result = mysqli_query($dbc, $query)
    or die ('Error querying database.');
     
    mysqli_close($dbc);
     
    echo 'Hi'. $name = $_POST ['firstname'].''.$_POST['lastname'].'<br />';
    echo 'Your dog was abdused in' . $how_many.'<br />';
    echo 'they made' . $what_they_did.'<br />';
    echo 'Others informacions' . $other.'<br />';
    echo 'Thanks for submitting the form.<br />';
    echo 'You were abducted'.$when_it_happened;
    echo 'and were gone for'.$how_long.'<br />';
    echo 'Describe them:' . $alien_description.'<br />';
    echo 'Was Fang there?'.$fang_spotted.'<br />';
    echo 'Your email address is '.$email;
    "Corpo do E-mail"
    ?>
    </body>
    </html>
    Esses espaços para um código e outros, vcs considerem como uma linha.
    Muito obrigado amigos!
    Last edited by Piratica; 25-06-2014, 18:48. Motivo: Facilitar visualização
    Similar Threads

  • Font Size
    #2
    Experimente pegar a variável query, e colocar ela começando com " (aspas dupla) no lugar de ' (aspas simples):

    Código:
    $query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_they_did, fang_spotted, other, email) VALUES ('Sally', 'Jones', '3 dias atrás', '1 dia', 'quatro', 'verde com seis tentáculos', 'Nós só conversamos e brincamos com um cachorro', 'sim', 'Acho que posso ter visto o seu cão. Entre em contato.', 'sally@gregs-list.net')";
    Se expressarmos gratidão pelo que temos, teremos mais para expressar gratidão... Agradeça!

    Comment


    • Font Size
      #3
      Primeiro erro corrigido, mas agora tenho outro na linha 27

      Olá, muito obrigado pela solução do erro na linha 22. Mas agora eu tenho um novo erro na linha 27:

      Parse error: syntax error, unexpected '$result' (T_VARIABLE) in C:\wamp\www\HeadFirst\report.php on line 27

      Comment


      • Font Size
        #4
        cara, tenta trocar esse "mysqli_query" por "mysql_query" sem o "i" no "mysql_close" também tenta tirar o "i".

        Comment


        • Font Size
          #5
          Sobre seu Problema

          Tire o mysqli_close();

          Código:
          <html>
          <head>
          <title>Aliens Abducted me - Report an Abduction</title>
          </head>
          <body>
          <?php
          $name = $_POST ['name'];
          $how_many = $_POST ['howmany'];
          $what_they_did = $_POST ['whattheydid'];
          $other = $_POST ['other'];
          $when_it_happened = $_POST ['whenithappened'];
          $how_long = $_POST['howlong'];
          $alien_description = $_POST['aliendescription'];
          $fang_spotted = $_POST['fangspotted'];
          $email = $_POST['email'];
           
          $dbc = mysqli_connect ('localhost', 'root', 'asuga080396', 'aliendatabase')  or die ('Error connecting to MySQL server.');
          $query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_they_did, fang_spotted, other, email) VALUES ('Sally', 'Jones', '3 dias atrás', '1 dia', 'quatro', 'verde com seis tentáculos', 'Nós só conversamos e brincamos com um cachorro', 'sim', 'Acho que posso ter visto o seu cão. Entre em contato.', 'sally@gregs-list.net')";
           
          $result = mysqli_query($dbc, $query) or die ('Error querying database.');
          
          if( $result ){
          echo 'Hi'. $name = $_POST ['firstname'].''.$_POST['lastname'].'<br />';
          echo 'Your dog was abdused in' . $how_many.'<br />';
          echo 'they made' . $what_they_did.'<br />';
          echo 'Others informacions' . $other.'<br />';
          echo 'Thanks for submitting the form.<br />';
          echo 'You were abducted'.$when_it_happened;
          echo 'and were gone for'.$how_long.'<br />';
          echo 'Describe them:' . $alien_description.'<br />';
          echo 'Was Fang there?'.$fang_spotted.'<br />';
          echo 'Your email address is '.$email;
          }else{
           die("Erro, {$result} ");
          }
          
           
          
          ?>
          </body>
          </html>


          Recomendo a leitura do artigo sobre PDO e CRUD.
          Last edited by Piratica; 26-06-2014, 10:44. Motivo: Facilitar visualização

          Comment


          • Font Size
            #6
            não troque o mysqli por mysql, neste livro se trabalha com mysql inproved, então siga o livro, na pagina 94 tem o script completo só olhar e ver onde ta o erro, se vc quer aprender com esse livro recomendo que não assista nenhum dos cursos postados aqui, pois senão vc vai pular toda parte de modelagem de banco, chaves estrangeiras e muitas outras coisas que esse livro ensina

            Comment


            • Font Size
              #7
              eu não entendo por que o "CORPO DE E-MAIL" está só com duas aspas, coloca um echo "CORPO DO E-MAIL";

              Comment


              • Font Size
                #8
                Esqueci um ; e agora o erro está na em conectar ao banco de dados

                Olá, os erros anteriores estão resolvidos, eu havia esquecido um ; antes da variável $result. Mas agora o problema é o seguinte:

                Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\HeadFirst\report.php on line 17

                Comment


                • Font Size
                  #9
                  Postado Originalmente por adailtonabreu Ver Post
                  Olá, os erros anteriores estão resolvidos, eu havia esquecido um ; antes da variável $result. Mas agora o problema é o seguinte:

                  Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\HeadFirst\report.php on line 17
                  Acesso negado, provavelmente algum dado da conexão está errado.

                  Verifique esses dados: 'localhost', 'root', 'asuga080396', 'aliendatabase'
                  Se expressarmos gratidão pelo que temos, teremos mais para expressar gratidão... Agradeça!

                  Comment

                  X
                  Working...
                  X