Pergunta

Estou tentando aprender PHP/MySQL.

A inserção de dados no MySQL funciona bem, mas inserir aqueles com apóstrofo está gerando um erro. Tentei usar o mysql_real_escape_string, mas isso não funciona.

apreciaria qualquer ajuda.


<?php
include 'config.php';

echo "Connected <br />";



$auth = $_POST['author'];
$quo = $_POST['quote'];

$author = mysql_real_escape_string($auth); 
$quote = mysql_real_escape_string($quo); 


//**************************



//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ($author, $quote)";

if (!mysql_query($sql,$conn))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

...

O que estou fazendo errado?

Foi útil?

Solução

Seus valores são strings, eles ainda precisam de delimitadores na declaração SQL, mesmo depois de você escapar.

//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";

Outras dicas

As cordas devem ser embrulhadas em cotações no SQL:

$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top