Insert do arquivo banco.php

44 views
Skip to first unread message

Jason Alves

unread,
May 3, 2018, 1:38:51 PM5/3/18
to Livro PHP e MySQL - Casa do Código
Olá estou lendo o livro e estou me deparando  com um problema persistente,estou no capitulo 8 e o insert do arquivo banco não insere dados,achei que tinha digitado algo errado refiz várias vezes todos os códigos para tentar encontrar o erro, mais não achei o problema é  mesmo copiando os códigos do gitbub dá o mesmo problema,estou um pouco desanimado com essa situação.

Genivaldo Santos

unread,
May 3, 2018, 1:41:34 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
Ola Jason,

Qual o erro vc esta recebendo?

Em 3 de maio de 2018 14:38, Jason Alves <jason...@gmail.com> escreveu:
Olá estou lendo o livro e estou me deparando  com um problema persistente,estou no capitulo 8 e o insert do arquivo banco não insere dados,achei que tinha digitado algo errado refiz várias vezes todos os códigos para tentar encontrar o erro, mais não achei o problema é  mesmo copiando os códigos do gitbub dá o mesmo problema,estou um pouco desanimado com essa situação.

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsub...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Jason Alves

unread,
May 3, 2018, 1:45:15 PM5/3/18
to Livro PHP e MySQL - Casa do Código
na  verdade não tem erro,o que acontece é que o insert não funciona,o estranho é que utilizei todos os códigos daqui https://github.com/InFog/phpmysql/tree/master/edicao1/afazeresbd2 e mesmo assim não funciona.

Genivaldo Santos

unread,
May 3, 2018, 1:46:23 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
Consegue enviar os arquivos junto com o SQL do banco para testar?

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsubscri...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Jason Alves

unread,
May 3, 2018, 1:50:15 PM5/3/18
to Livro PHP e MySQL - Casa do Código
consigo arquivo tem alguns dados

Em quinta-feira, 3 de maio de 2018 14:46:23 UTC-3, Genivaldo Santos escreveu:
Consegue enviar os arquivos junto com o SQL do banco para testar?
Em 3 de maio de 2018 14:45, Jason Alves <jason...@gmail.com> escreveu:
na  verdade não tem erro,o que acontece é que o insert não funciona,o estranho é que utilizei todos os códigos daqui https://github.com/InFog/phpmysql/tree/master/edicao1/afazeresbd2 e mesmo assim não funciona.

Em quinta-feira, 3 de maio de 2018 14:41:34 UTC-3, Genivaldo Santos escreveu:
Ola Jason,

Qual o erro vc esta recebendo?
Em 3 de maio de 2018 14:38, Jason Alves <jason...@gmail.com> escreveu:
Olá estou lendo o livro e estou me deparando  com um problema persistente,estou no capitulo 8 e o insert do arquivo banco não insere dados,achei que tinha digitado algo errado refiz várias vezes todos os códigos para tentar encontrar o erro, mais não achei o problema é  mesmo copiando os códigos do gitbub dá o mesmo problema,estou um pouco desanimado com essa situação.

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsub...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
tarefas.sql

Jason Alves

unread,
May 3, 2018, 1:53:20 PM5/3/18
to Livro PHP e MySQL - Casa do Código
eu acho se vc utilizar os mesmo códigos do github vc consegue testar pois só copiei e colei e deu no mesmo.

Genivaldo Santos

unread,
May 3, 2018, 1:58:49 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
Seu PHP esta habilitado para exibir erros?

--

Jason Alves

unread,
May 3, 2018, 2:10:37 PM5/3/18
to Livro PHP e MySQL - Casa do Código
Sim


Em quinta-feira, 3 de maio de 2018 14:38:51 UTC-3, Jason Alves escreveu:

Jason Alves

unread,
May 3, 2018, 2:21:18 PM5/3/18
to Livro PHP e MySQL - Casa do Código
vc conseguiu testar?esta pasta está com todos os arquivos.


Em quinta-feira, 3 de maio de 2018 14:38:51 UTC-3, Jason Alves escreveu:
misc.xml
tabela.php
tarefas.css
tarefas.php
template.php
modules.xml
php.iml
workspace.xml
ajudantes.php
banco.php
editar.php
formulario.php
remover.php

Genivaldo Santos

unread,
May 3, 2018, 3:04:24 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
Nao cheguei a testar ainda, mas faz o seguinte, no seu arquivo banco.php troca a função gravar_tarefa, por essa aqui,

function gravar_tarefa($conexao, $tarefa)
{
    $sqlGravar = "
        INSERT INTO tarefas
        (nome, descricao, prioridade, prazo, concluida)
        VALUES
        (
            '{$tarefa['nome']}',
            '{$tarefa['descricao']}',
            '{$tarefa['prazo']}',
            {$tarefa['prioridade']},
            {$tarefa['concluida']}
        )
    ";

    mysqli_query($conexao, $sqlGravar);
}

Tudo indica que seu problema esta aqui,

{$tarefa['prioridade']},
'{$tarefa['prazo']}',

No banco, a ordem é a seguinte, id (auto increment), nome, descricao, prioridade, concluida, ou seja, na ordem que esta, vc esta tentando inserir a prioridade na coluna prazo.

Ajusta e testa.

Abraços.

Genivaldo Silva

--

Jason Alves

unread,
May 3, 2018, 3:26:41 PM5/3/18
to Livro PHP e MySQL - Casa do Código
Fiz a alteração porem não surtiu efeito,tbm já tinha pensado nessa possibilidade.


Em quinta-feira, 3 de maio de 2018 14:38:51 UTC-3, Jason Alves escreveu:

Genivaldo Santos

unread,
May 3, 2018, 3:50:26 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
Agora eu testei, e me desculpe, passei a funcao errada, segue a fucao correta,

function gravar_tarefa($conexao, $tarefa)
{
    $sqlGravar = "
        INSERT INTO tarefas
        (nome, descricao, prazo, prioridade, concluida)
        VALUES
        (
            '{$tarefa['nome']}',
            '{$tarefa['descricao']}',
            '{$tarefa['prazo']}',
            {$tarefa['prioridade']},
            {$tarefa['concluida']}
        )
    ";
    mysqli_query($conexao, $sqlGravar);
}

(nome, descricao, prioridade, prazo, concluida) - aqui tbm precisa alterar a ordem
(nome, descricao, prazo, prioridade, concluida)


Testa novamente, aqui deu certinho.

--

Jason Alves

unread,
May 3, 2018, 4:14:24 PM5/3/18
to Livro PHP e MySQL - Casa do Código
<?php
$bdServidor = '127.0.0.1';
$bdUsuario = 'sistematarefa';
$bdSenha = 'sistema';
$bdBanco = 'tarefas';
$conexao = mysqli_connect($bdServidor, $bdUsuario, $bdSenha, $bdBanco);
if (mysqli_connect_errno($conexao)) {
    echo "Problemas para conectar no banco. Verifique os dados!";
    die();
}
function buscar_tarefas($conexao)
{
    $sqlBusca = 'SELECT * FROM tarefas';
    $resultado = mysqli_query($conexao, $sqlBusca);
    $tarefas = array();
    while ($tarefa = mysqli_fetch_assoc($resultado)) {
        $tarefas[] = $tarefa;
    }
    return $tarefas;
}
function buscar_tarefa($conexao, $id)
{
    $sqlBusca = 'SELECT * FROM tarefas WHERE id = ' . $id;
    $resultado = mysqli_query($conexao, $sqlBusca);
    return mysqli_fetch_assoc($resultado);
}
function gravar_tarefa($conexao, $tarefa)
{
    $sqlGravar = "
        INSERT INTO tarefas
        (nome, descricao,prazo,prioridade,concluida)
        VALUES
         (
            '{$tarefa['nome']}',
            '{$tarefa['descricao']}',
            '{$tarefa['prazo']}',
            {$tarefa['prioridade']},
            {$tarefa['concluida']}
        )
    ";
    mysqli_query($conexao, $sqlGravar);
}
function editar_tarefa($conexao, $tarefa)
{
    $sqlEditar = "
        UPDATE tarefas SET
            nome = '{$tarefa['nome']}',
            descricao = '{$tarefa['descricao']}',
            prioridade = {$tarefa['prioridade']},
            prazo = '{$tarefa['prazo']}',
            concluida = {$tarefa['concluida']}
        WHERE id = {$tarefa['id']}
    ";
    mysqli_query($conexao, $sqlEditar);
}
function remover_tarefa($conexao, $id)
{
    $sqlRemover = "DELETE FROM tarefas WHERE id = {$id}";
    mysqli_query($conexao, $sqlRemover);
}
testei e não funcionou,estou com uma dúvida estou usando o wamp tem alguma diferença do xampp,pois tenho certeza que estou digitando o código corretamente. 



Em quinta-feira, 3 de maio de 2018 14:38:51 UTC-3, Jason Alves escreveu:

Genivaldo Santos

unread,
May 3, 2018, 4:18:50 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
Nesse caso não faz diferença Wamp ou xampp.

Faz o seguinte, antes do mysqli_query($conexao, $sqlGravar);  adiciona o seguinte:

echo "<pre>";
printr_r($sqlGravar);
die();

e cola o resultado aqui.

--

Jason Alves

unread,
May 3, 2018, 4:35:36 PM5/3/18
to Livro PHP e MySQL - Casa do Código

Apareceu isso.

Notice
: Undefined index: descricao in C:\wamp\www\php\Tarefas\banco.php on line 35

Notice: Undefined index: prazo in C:\wamp\www\php\Tarefas\banco.php on line 36

Notice: Undefined index: prioridade in C:\wamp\www\php\Tarefas\banco.php on line 37

Notice: Undefined index: concluida in C:\wamp\www\php\Tarefas\banco.php on line 38

Fatal error: Uncaught Error: Call to undefined function printr_r() in C:\wamp\www\php\Tarefas\banco.php:42 Stack trace: #0 C:\wamp\www\php\Tarefas\tarefas.php(15): gravar_tarefa(Object(mysqli), Array) #1 {main} thrown in C:\wamp\www\php\Tarefas\banco.php on line 42

Em quinta-feira, 3 de maio de 2018 14:38:51 UTC-3, Jason Alves escreveu:

Genivaldo Santos

unread,
May 3, 2018, 5:02:38 PM5/3/18
to Jason Alves, Livro PHP e MySQL - Casa do Código
o print_r, passei errado, desculpe

usa esse,

echo "<pre>";
print_r($sqlGravar);
die();


--

Evaldo Junior

unread,
May 3, 2018, 5:07:21 PM5/3/18
to Livro PHP e MySQL - Casa do Código
Mas o print_r errado acabou mostrando todo o erro.

O array não contém os índices usados.

Verifique se a variável passada para a função é mesmo um array e contém os índices necessários.

Abraços
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadocodigo+unsubscri...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Genivaldo Santos

unread,
May 3, 2018, 5:11:48 PM5/3/18
to Evaldo Junior, Livro PHP e MySQL - Casa do Código
Por via das dúvidas, testa em uma guia anônima.

Jason Alves

unread,
May 3, 2018, 7:28:30 PM5/3/18
to Livro PHP e MySQL - Casa do Código
Agradeço a ajuda de todos,o que eu fiz foi apagar todos os códigos  e tabela e refiz tudo, e quando criei a tabela só alterei a ordem dos campos igual no insert , está funcionando  normalmente, obrigado.


Em quinta-feira, 3 de maio de 2018 14:38:51 UTC-3, Jason Alves escreveu:
Reply all
Reply to author
Forward
0 new messages