MySQL inserir em problemas de sintaxe de tabela

0
$servername = 'edited';
$username = 'edited';
$password = 'edited';
$dbname = 'edited';

$name = $_POST ['name'];
$email = $_POST ['email'];
$number = $_POST ['number'];
$manufacturer = $_POST ['manufacturer'];
$birth = $_POST ['birth'];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";

$sql = mysqli_query($conn, "INSERT INTO hgcasestudy (name, email, number, phonename, birthday) VALUES ($name, $email, $number, $manufacturer, $birth)");
if (!$sql) {
    die('Invalid query: ' . mysql_error());
}

$conn->close();

Continuo recebendo a mensagem de erro: Connected successfullyInvalid query: Acesso negado para o usuário 'edited' @ 'localhost' (usando a senha: NO)

Estou confuso porque $ servername não está definido como local? Eu acho que é apenas fora da sintaxe com outras partes da página. Alguma ideia? Muito obrigado.

    
por Nat Dodd 06.07.2016 / 12:14

1 resposta

0

Você misturou o MySQL com o MySQLi, o que nunca funcionará. Você conectou usando o MySQLi então tentou fazer uma consulta usando o MySQL. Sua consulta deve ser:

$sql = mysqli_query($conn,"INSERT INTO hgcasestudy (name, email, number, phonename, birthday) VALUES ($name, $email, $number, $manufacturer, $birth)");

Também deve ser salientado que você está vulnerável a ataques de injeção usando valores de formulário sem QUALQUER verificação ou higienização.

    
por 06.07.2016 / 16:07