Ir para conteúdo
AlexandreHenrique

[Resolvido] erro com insert into com php 5.6

Recommended Posts

Bom dia amigos,

já tentei de várias formas realizar um  cadastro simples  no banco com PHP 5.6 e não dá certo!

Não exibe erro, mas não cadastra. Alguém pode dá uma foça?

Vê o código:

 

    $conexao = mysqli_connect("$host","$user","$senha","$banco") 
    or die("Error " . mysqli_error($link));
    
    $autor = "Zezim";
    $assunto = "Testando";
    $status = 0;
    
    $sql_statement="INSERT INTO ticket (idTicket,autor,assunto,status)
    VALUES ('','$autor','$assunto','$status')";
    mysqli_query($conexao,$sql_statement);


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei o problema!

Estava nessa string INSERT:

O campo e o valor da coluna auto-increment devem ser omitidos e variáveis tipo INT não pode ter aspas

$sql_statement="INSERT INTO ticket (autor,assunto,status)
    VALUES ('$autor','$assunto',$status)";

Compartilhar este post


Link para o post
Compartilhar em outros sites

aconselho criar um conexao.php ao invés de ter que colocar a todo momento um tipo de conexao pra db.

 

um pdo decente:

Citar

 <?php 
 /*  
  * constantes de parametros para configuração da conexão  
  */  
 define('HOST', 'localhost');  
 define('DBNAME', '');  
 define('CHARSET', 'utf8');  
 define('USER', 'root');  
 define('PASSWORD', '');  

 class Conexao {  

   /*  
    * atributo estático para instancia do PDO  
    */  
   private static $pdo;

   /*  
    * escondendo o construtor da classe  
    */ 
   private function __construct() {  
     //  
   } 
 
   /*  
    * metodo estatico para retornar uma conexão valida  
    * verifica se já existe uma instancia da conexão, caso nao, configura uma nova conexão  
    */  
   public static function getInstance() {  
     if (!isset(self::$pdo)) {  
       try {  
         $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_PERSISTENT => TRUE);  
         self::$pdo = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . "; charset=" . CHARSET . ";", USER, PASSWORD, $opcoes);  
       } catch (PDOException $e) {  
         print "Erro: " . $e->getMessage();  
       }  
     }  
     return self::$pdo;  
   }  
 }

 

e usaria assim em cada script:

 

Citar

        $conexao = conexao::getInstance();

 

e claro com um require na conexao.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

mudei um pouco o arquivo de conexão:

<?php
$host = "localhost";
$user = "usuarioi";
$pass = "*********";
$banco = "banco";

$conexao = new mysqli($host,$user,$pass,$banco) ;

if($conexao->connect_errno)
    echo "Erro ao conectar:(".$conexao->connect_errno.")".$conexao->connect_error;    
?>

 

Editado por Alaerte Gabriel
Adição da tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por reginaldo123
      quero fazer uma consulta que retorna as ultimas mensagens por data e agrupa pelo id_an

      $query="SELECT id_mensagem ,id_an,id_usuario,mensagem,data,id_p FROM mensagem WHERE  id_usuario='{$id_usuario}' ORDER BY data desc
       GROUP by id_an";
      mas esta dando erro a consulta sql
    • Por Marxrj
      Bom pessoal, tenho um newsletter bem simples, porém funciona com o disparado da hospedagem sem problemas.
      Mas estou tendo dois problemas, o primeiro é que ao chegar o email no destinatário, o assunto chega com o erro de acentuação, porém na mensagem não tem o erro.
      E o segundo e na mensagem que não pula a linha.
       
      No assunto mando para testar: Olá Você e chega Ol&aacute;? Voc&ecirc;
      Já na mensagem eu escrevo: 
      Olá Você
      Como vai?
      E chega sem o pulo da linha, porém sem erro de acentuação:  Olá você\r\nComo vai?
       
      O trecho do arquivo para quem puder dar uma bola
       
      <td width="100%" valign="center"> <p align="center"><font size=3><b>Aviso por email</b></p> <? if ($_POST[acao] == "enviar") { $sql = $sqli->query("SELECT * FROM clientes"); $i = 1; while ($coluna = mysqli_fetch_array($sql)) { $headers = "Content-type: text/html; charset=iso-8859-1\r\n"; $headers.= "From:$_POST[form_nome]<$_POST[form_email]>"; if (@mail($coluna[email],$_POST[form_assunto],$_POST[form_mensagem],$headers)) { echo "$i. <font color=blue><font size=3>$coluna[email] - $coluna[cliente] - enviado</font><br>"; } else { echo "$i. <font color=red><font size=4>$coluna[email] $coluna[cliente] - $coluna[cpf]- falhou</font><br>"; } flush(); $i++; } ?><p align="center"><a href="<?=$_SERVER['SCRIPT_NAME']?>">Voltar</a></p> <? } else { ?><p align="center"><font size=3><b>O sistema possui <? echo mysqli_num_rows($result = $sqli->query("SELECT * FROM clientes"))?> Clientes cadastrados no banco de dados.</p> <form name="form1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFE4C4"> <div class="container"> <form> <div class="row"> <div class="col-25"> <label><b>De:</b></label> </div> <div class="col-75"> <input name="form_nome" id="form_nome" value="" placeholder="Seu nome" size="30"> </div> </div> <div class="row"> <div class="col-25"> <label><b>Email:</b></label> </div> <div class="col-75"> <input name="form_email" id="form_email" value="" placeholder="Seu email" size="30"> </div> </div> <div class="row"> <div class="col-25"> <label><b>Assunto:</b></label> </div> <div class="col-75"> <input name="form_assunto" id="form_assunto" value="" placeholder="Seu assunto" size="30"> </div> </div> <div class="row"> <div class="col-25"> <label><b>Aviso:</b></label> </div> <div class="col-75"> <textarea name="form_mensagem" type="text" id="form_mensagem"></textarea> </div> </div> <tr align="right"> <td colspan="2"><input name="acao" type="hidden" id="acao" value="enviar"> <input type="submit" name="Submit" value="Enviar Mensagem"></td> </tr> </table> </form>  
    • Por kaiquefigui
      sempre que uso o comando 'insert into cliente values...' diz que minha query foi atualiza e as linhas foram afetadas porem quando utilizo o comando 'desc cliente' não vejo alterações, como posso resolver esse problema?
      CREATE TABLE CLIENTE( NOME VARCHAR(30), SEXO CHAR(1), CPF CHAR(11), EMAIL VARCHAR(50), TELEFONE VARCHAR(30), ENDEREÇO VARCHAR(100) ); SHOW TABLES; DESC CLIENTE; INSERT INTO CLIENTE VALUES('KAUAN','M','23453678911','KAUAN@HOTMAIL.COM','254896534','ANTONIO HERDEIRO - SÃO PAULO - SP'); INSERT INTO CLIENTE VALUES('ADRIANA','F','24587630894','ADRIANA@HOTMAIL.COM','48652479','ANTONIO HERDEIRO - SÃO PAULO - SP'); INSERT INTO CLIENTE VALUES('KAIQUE','M','34221176809','KAIQUE@HOTMAIL.COM',NULL,'ANTONIO HERDEIRO - SÃO PAULO - SP'); INSERT INTO CLIENTE(NOME,SEXO,CPF,EMAIL,TELEFONE,ENDEREÇO) VALUES('MARCELA','F','15489652011','MARCELO@HOTMAIL.COM','245826157','ANTONIO HERDEIRO - SÃO PAULO - SP');  
    • Por scapedzn
      Olá pessoas! Estou com a seguinte dúvida. Estou fazendo um sistema que é um site onde será possível o cadastro de cursos online. O meu problema é o seguinte. O meu usuário logado salva junto com o nome do curso que ele enviou para o banco dados sua id única de cadastro. Portanto sempre quando ele adicionar qualquer curso, exemplo: aula 1 , junto com isso salva a mesma id de quando ele criou a conta dele, exemplo: 33. Sempre quando ele adicionar novo curso essa id é salva junto para eu saber qual usuário adicionou o novo curso. Porém eu gostaria de listar todos os cursos que o usuário cadastrou para ele mesmo ver. Ou seja, tenho de usar essa ID única dele para pegar todos os nomes de curso que ele adicionou. Não posso dar Select em toda a tabela pois se não ele irá trazer informações que outros usuários adicionaram. Gostaria de listar apenas as informações relacionadas diretamente com o id dele. Não sei se ficou Claro. Mas me ajudem por favor
    • Por ment0r
      Boa tarde amigos, tudo bem? Mais uma vez venho pedir o auxilio de vocês.
       
      Bom, estou desenvolvendo um sistema intranet pra uma empresa (php + firebird) e nele haverá uma página de cadastro de pedido; nela, o usuário digita a data da compra, a data de vencimento e vai listando os produtos - bem simples.
       
      Minha dúvida é a seguinte: como eu faço pra pra inserir vários produtos na mesma página e depois cadastrar tudo de uma vez? Peguei como exemplo uma tela do sistema de um amigo (não pode ser copiado, pois foi desenvolvido em Delphi).
       

       
      O usuário escolhe um produto e insere na lista, escolhe outro e insere na lista e assim por diante. No final ele cadastra todos. Minha dúvida não é nos procedimentos de cadastros (funções de banco e etc) é em como fazer a aparecer essa lista de produtos.
       
      Será que é com Jquey, Javascript... enfim... me deêm uma luz rsrs
       
      Muito obrigado desde já.
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.