Pessoa eu estou tentando inserir dados no phpmyadmin através do browser usndo php, o problema é que mesmo eu nao inserindo nada o banco mostra a mensagem que foi inserido com sucesso e quando vou ver la no banco foi inserida uma linha toda em branco, segue o codigo pra ver se alguem consegue me ajudar:
codigo pro usuario digitar os dados no browser:
Cadastro de Produtos
Inserção de pratos do restaurante
Nome:
Categoria:
Entrada
Pratos Principais
Bebidas
Sobremesas
Preço:
Endereço da Imagem:
codigo pra fazer acesso ao banco:
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurante!");
//insere registro no banco de dados
if (!mysql_query("INSERT INTO produto (Nome, Categoria, Preco, url_imagem) VALUES ('$_POST[Nome]','$_POST[Categoria]','$_POST[Preco]','$_POST[url_imagem]')", $dbhandle)){
die ("Erro:" . mysql_error());
}
echo "
Registro inserido com sucesso
";
mysql_close($dbhandle);
?>
ta aparecendo a mensagem desse echo, não sei por que, quando na verdade era pra aparecer a mensagem de erro ja que nao esta sendo digitado nada, se alguem puder me ajudar eu agradeceria muito.
aquiiii no mysql_query vc n é obrigado a passar a conexão no caso o php pega a conexão aberta se existir uma. tente o seguinte tire o $dbhandle. se vc tivesse q passar uma variavel seria $selected.
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurante!");
//insere registro no banco de dados
mysql_query("INSERT INTO produto (Nome, Categoria, Preco, url_imagem) VALUES ('$_POST[Nome]','$_POST[Categoria]','$_POST[Preco]','$_POST[url_imagem]')");
or die ("Erro:" . mysql_error());
echo "
Registro inserido com sucesso
";
mysql_close($dbhandle);
?>
e ta aparecendo o seguinte erro:
Parse error: syntax error, unexpected T_LOGICAL_OR in C:\xampp\htdocs\restaurante\paginas\insere_produto.php on line 17
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Cadastro de Produtos</title>
<script type = "text/javascript">
function validarCampos(){
if(document.getElementById("Nome").value.length == 0 ){
alert("O campo nome deve ser preenchido!");
return false;
}
if(document.getElementById("Nome").value.length>50 ){
alert("O campo nao pode ter mais de 50 caracteres!");
return false;
}
if(document.getElementById("url_imagem").value.length>100){
alert("O campo endereço da imagem deve ter no maximo 100 caracteres!");
return false;
}
if(document.getElementById("Preco").value.length>100){
alert("O campo endereço da imagem deve ter no maximo 100 caracteres!");
return false;
}
return true;
}
</script>
</head>
<body>
<h1>Inserção de pratos do restaurante</h1>
<form action="insere_produto.php" method="post" onsubmit="return validarCampos();">
Nome:<input type ="text" name="Nome" id="Nome" /> <br />
Categoria:<select name ="Categoria">
<option value = "E"> Entrada</option>
<option value = "P"> Pratos Principais</option>
<option value = "B"> Bebidas</option>
<option value = "S"> Sobremesas</option>
</select>
Preço:<input type ="text" name="Preco" id="Preco" /> <br />
Endereço da Imagem:<input type ="text" name="url_imagem" id="url_imagem" /> <br />
<input type="submit" />
</form>
</body>
</html>