4
respostas

Erro de aspas no código?

estou com um problema na hora de fazer o codigo em php para gravar dados no banco mysql, faço tudo certinho mas na hora de testar encontro o erro:

Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@gmail.com,12222222)' at line 2 in C:\xampp\htdocs\formulario\formulario.php:18 Stack trace: #0 C:\xampp\htdocs\formulario\formulario.php(18): mysqli_query(Object(mysqli), 'INSERT INTO usu...') #1 {main} thrown in C:\xampp\htdocs\formulario\formulario.php on line 18

segue meu codigo abaixo:

<?php

if(isset($_POST['submit']))
{
        print_r($_POST['nome']);
        print_r('<br>');
        print_r($_POST['email']);
        print_r('<br>');
        print_r($_POST['telefone']);

        include_once('config.php');

        $nome = $_POST['nome'];
        $email = $_POST['email'];
        $telefone = $_POST['telefone'];

        $result = mysqli_query($conexao, "INSERT INTO usuarios(nome,email,telefone) 
        VALUES ($nome,$email,$telefone)");
}

?>
4 respostas

Você precisar saber concatenar esses itens em php. Perceba que em php você está passando string dentro $nome. Como ele vai entender a string nesse caso? Você precisa indicar que é uma string passando uma aspa simples antes e depois '$nome'.

https://www.concatenar.com.br/php/como-concatenar-no-php

Você pode tentar essa forma: $result = mysqli_query($conexao, "INSERT INTO usuarios(nome,email,telefone) VALUES ('$nome','$email','$telefone'));

eu estou preso nessa incógnita quebrando a cabeça pra corrigir isso tem um tempinho, eu já tinha tentado fazer isso mas permanece dando erro, meu codigo está assim: ` if(isset($POST['submit'])) { printr($POST['nome']); printr(''); print_r($POST['email']); printr(''); print_r($_POST['telefone']);

    include_once('config.php');

    $nome = $_POST['nome'];
    $email = $_POST['email'];
    $telefone = $_POST['telefone'];

    $result = mysqli_query($conexao, "INSERT INTO usuarios(nome,email,telefone) VALUES ('$nome','$email','$telefone')");

} `

e agora esta dando o erro: Fatal error: Uncaught mysqli_sql_exception: Duplicate entry '0' for key 'PRIMARY' in C:\xampp\htdocs\formulario\formulario.php:17 Stack trace: #0 C:\xampp\htdocs\formulario\formulario.php(17): mysqli_query(Object(mysqli), 'INSERT INTO usu...') #1 {main} thrown in C:\xampp\htdocs\formulario\formulario.php on line 17

Um professor que ensinou a fazer esse códigos com variáveis, ele usava o seguinte: Primeiro faça uma de testes sem variável:

$result = mysqli_query($conexao, "INSERT INTO usuarios(nome,email,telefone) VALUES ('João','joao.pedro@gmail.com','994553433')");

Não tenha medo de fazer testes!!! Pode ser que o erro não seja ai.

date_default_timezone_set('America/Sao_Paulo'); $dthoje=date('Y-m-d');

$sql = "SELECT * from rodada where dtrodada > '$dthoje'"; $result = mysqli_query($link,$sql)or die("Erro no banco de dados!");

    $total = mysqli_num_rows($result); 
    $dados = mysqli_fetch_array($result);  

$rodada=$dados[0];

Um exemplo de uso do PHP com Mysql. Perceba que estou usando o mysqli Se conseguir resultado positivo marque a questão como certa. Qualquer coisa pode chamar, tenho um projeto usando PHP