Notice e php não envia dados pro banco mysql
Olá!
Meu problema não é deixar de exibir as Notices. Pelo contrário, mantenho o display errors do WampServer ativado para visualizá-los.
Problemas:
1) Tenho o form abaixo (inserir.php) e quando envio os dados para o banco, o mesmo só registra a ID - que é auto_increment, - mas não cadastra o Livro, Autor nem Editora.
2) Quando tento excluir um registro pelo form para excluir essa linha gerada com a ID, aparece a seguinte mensagem:
Erro: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Espero que a resposta esteja na resolução desses Notices.
As Notices da página inserir.php são:
- Notice: Undefined variable: Codigo in C:\wamp\www\CodigosFontesV02\inserir.php on line... Call Stack #TimeMemoryFunctionLocation 10.0010257352{main}( )..\inserir.php:0 ">
- Notice: Undefined variable: Livro in C:\wamp\www\CodigosFontesV02\inserir.php on line...
- Notice: Undefined variable: Autor in C:\wamp\www\CodigosFontesV02\inserir.php on line... Call Stack #TimeMemoryFunctionLocation 10.0010257352{main}( )..\inserir.php:0 ">
- Notice: Undefined variable: Editora in C:\wamp\www\CodigosFontesV02\inserir.php on line... Call Stack #TimeMemoryFunctionLocation 10.0010257352{main}( )..\inserir.php:0 ">
Vejam as páginas:
inserir.php
<?PHP
$servidor = 'localhost';
$usuario = 'root';
$senha = '******';
$banco = 'integracao';
$link = mysql_connect($servidor, $usuario, $senha)
or die('Não foi possivel conectar: ' . mysql_error());
$select = mysql_select_db($banco);
if(isset($_REQUEST["acao"]) && $_REQUEST["acao"] == "editar")
{
$sql = "SELECT * FROM livros WHERE ID = $buscacodigo";
$result = mysql_query($sql);
if($tbl = mysql_fetch_array($result))
{
$Codigo = $tbl["ID"];
$Livro = $tbl["LIVRO"];
$Autor = $tbl["AUTOR"];
$Editora = $tbl["EDITORA"];
}
else
{ echo "Registro não encontrado."; }
}
?>
<HTML>
<HEAD>
<TITLE>Gerenciando Registros</TITLE>
</HEAD>
<BODY>
Preencha os campos abaixo:
<?
if(isset($_REQUEST["acao"]) && $_REQUEST["acao"] == "editar")
{ $AcaoForm = "alterar"; }
else
{ $AcaoForm = "adicionar"; }
?>
<FORM method="POST" action="gerencia-registro.php?acao=<? echo $AcaoForm; ?>">
<INPUT type="hidden" name="FormCodigoLivro" value="<? echo $Codigo; ?>">
<TABLE>
<TR>
<TD>Nome do Livro:</TD>
<TD>
<INPUT type=text name="FormNomeLivro" maxlength=64 value="<? echo $Livro; ?>">
</TD>
</TR>
<TR>
<TD>Nome do Autor:</TD>
<TD>
<INPUT type=text name="FormNomeAutor" maxlength=32 value="<? echo $Autor; ?>">
</TD>
</TR>
<TR>
<TD>Nome da Editora:</TD>
<TD>
<INPUT type=text name="FormNomeEditora" maxlength=16 value="<? echo $Editora; ?>">
</TD>
</TR>
<TR>
<TD colspan=2 align=right>
<INPUT type="reset" value="Limpar">
<?
if(isset($_REQUEST["acao"]) && $_REQUEST["acao"] == "editar")
{ $NomeBotao = "Alterar"; }
else
{ $NomeBotao = "Cadastrar"; }
?>
<INPUT type="submit" value="<? echo $NomeBotao; ?>">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
gerencia-registro.php
<?PHP
$servidor = 'localhost';
$usuario = 'root';
$senha = '*****';
$banco = 'integracao';
$link = mysql_connect($servidor, $usuario, $senha)
or die('Não foi possivel conectar: '.mysql_error());
$select = mysql_select_db($banco);
if($_REQUEST["acao"] == "adicionar")
{
$sql = "INSERT INTO livros (LIVRO, AUTOR, EDITORA) VALUES (";
$sql .= "'$FormNomeLivro', ";
$sql .= "'$FormNomeAutor', ";
$sql .= "'$FormNomeEditora'";
$sql .= ")";
$result = mysql_query($sql);
if (!$result)
{ die('Erro: '.mysql_error()); }
else
{ echo 'A operação foi realizada com sucesso.'; }
}
else if($_REQUEST["acao"] == "alterar")
{
$sql = "UPDATE livros SET ";
$sql .= "LIVRO = '$FormNomeLivro', ";
$sql .= "AUTOR = '$FormNomeAutor', ";
$sql .= "EDITORA = '$FormNomeEditora'";
$sql .= " WHERE ID = $FormCodigoLivro";
$result = mysql_query($sql);
if (!$result)
{ die('Erro: '.mysql_error()); }
else
{ echo 'A operação foi realizada com sucesso.'; }
}
else if($_REQUEST["acao"] == "excluir")
{
$sql = "DELETE FROM LIVROS WHERE ID = $buscacodigo";
$result = mysql_query($sql);
if (!$result)
{ die('Erro: '.mysql_error()); }
else
{ echo 'A operação foi realizada com sucesso.'; }
}
?>
<BR><A href="inserir.php">Clique aqui para inserir um novo registro.</A>
<BR><A href="lista.php">Clique aqui para visualizar os registros.</A>
lista.php
<?PHP
$servidor = 'localhost';
$usuario = 'root';
$senha = '*****';
$banco = 'integracao';
$link = mysql_connect($servidor, $usuario, $senha)
or die('Não foi possivel conectar: ' . mysql_error());
$select = mysql_select_db($banco);
$sql = "SELECT * FROM livros";
?>
<HTML>
<TABLE border=1>
<TR>
<TD>Cód.</TD>
<TD>Livro</TD>
<TD>Autor</TD>
<TD>Editora</TD>
</TR>
<?
$result = mysql_query($sql);
while ($tbl = mysql_fetch_array($result))
{
$Codigo = $tbl["ID"];
$Livro = $tbl["LIVRO"];
$Autor = $tbl["AUTOR"];
$Editora = $tbl["EDITORA"];
echo "<TR>";
echo "<TD>$Codigo ";
echo "<A href=\"inserir.php?acao=editar&buscacodigo=$Codigo\">";
echo "(Editar)</A>";
echo "<A href=\"gerencia-registro.php?acao=excluir&buscacodigo=$Codigo\">";
echo "(Excluir)</A>";
echo "</TD>";
echo "<TD>$Livro</TD>";
echo "<TD>$Autor</TD>";
echo "<TD>$Editora</TD>";
echo "</TR>";
}
?>
</TABLE>
<BR><A href="inserir.php">Clique aqui para inserir um novo registro.</A>
</HTML>
BANCO INTEGRACAO
CREATE TABLE LIVROS
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
LIVRO VARCHAR(64) NOT NULL,
AUTOR VARCHAR(32) NOT NULL,
EDITORA VARCHAR(16) NOT NULL
);
Espero que possam me ajudar!
Abraço!
Discussão (3)
Carregando comentários...