Após décadas programando em xBASE (desde o dBASE II até o Harbour) resolvi aprender PHP.
No momento estou fazendo um CRUD e me deparei com um erro de sintaxe.
Quando eu clico num link chamado editar que me leva ao script editar.php conforme se pode ver abaixo
<a href = editar.php?editar='3'>editar</a>
<?php
$host = "localhost";
$login = "root";
$senha = "";
$banco = "alunos";
$con = mysqli_connect($host, $login, $senha, $banco);
mysqli_select_db($con, $banco);
$var = mysqli_close($con);
?>
uma variável chamada editar vai contendo o id do registro a ser editado (3):
<?
include_once 'conexao.php';
$sql = "SELECT * FROM cadastro WHERE id='".$_GET['editar']."'";
echo $sql;
$result = mysqli_query($con, $sql);
if($result === false)
echo mysqli_error($con);
else
$linha = mysqli_fetch_array($result);
?>
<p>Editar</p>
<form action = "evento.php?editar=<? echo linha['id']; ?>" method = "post">
<input type = "text" name = "nome" value = "<? echo $linha['nome']; ?>"><br>
<input type = "text" name = "telefone" value = "<? echo $linha['telefone']; ?>"><br>
<input type = "submit" value="Editar">
</form>
<a href = "index.php">Voltar</a>
Vejam que eu chego a exibr o conteúdo da variável $sql ou seja:
SELECT * FROM cadastro WHERE id="3"
Parece certo não é? Mas na hora de executar o mysqli_query dá o seguinte erro:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB
Alguém pode ajudar a resolver este mistério?