Laravel - Insert to the database

0

I'm new to Laravel and I'm trying to insert some data into the database, but it keeps giving me error, I do not know if I'm doing it right How I am doing:

   $nome=$_POST['nome'];
    $sobrenome=$_POST['sobrenome'];
    $email=$_POST['email'];
    $senha=$_POST['senha'];
    $diaN=$_POST['nascdia'];
    $mesN=$_POST['nascmes'];
    $anoN=$_POST['nascano'];
    $cpf=$_POST['cpf'];
    $console=$_POST['console'];
    $game=$_POST['game'];
    if(isset($_POST['resp_legal_nome'])){
    $nomeR=$_POST['resp_legal_nome'];
    }else{
        $nomeR="Sou de maior";
    }
    if(isset($_FILES['foto'])){
        function gerahasc($tamanho = 100, $maiusculas = true, $numeros = true, $simbolos = false)
                            {
                                // Caracteres de cada tipo
                                $lmin = 'abcdefghijklmnopqrstuvwxyz';
                                $lmai = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
                                $num = '1234567890';
                                $simb = '!@#$%*-';

                                // Variáveis internas
                                $retorno = '';
                                $caracteres = '';

                                // Agrupamos todos os caracteres que poderão ser utilizados
                                $caracteres .= $lmin;
                                if ($maiusculas) $caracteres .= $lmai;
                                if ($numeros) $caracteres .= $num;
                                if ($simbolos) $caracteres .= $simb;

                                // Calculamos o total de caracteres possíveis
                                $len = strlen($caracteres);

                                for ($n = 1; $n <= $tamanho; $n++) {
                                // Criamos um número aleatório de 1 até $len para pegar um dos caracteres
                                $rand = mt_rand(1, $len);
                                // Concatenamos um dos caracteres na variável $retorno
                                $retorno .= $caracteres[$rand-1];
                                }

                                return $retorno;
                            }
                            $_FILES['foto']['nome']=gerahasc();
                            include 'carregarFT.php';



    }else{
        $foto="Sem_FT.png"; 
    }

    $nick=$_POST['nickname'];
    $estado=$_POST['estado'];
    $cidade=$_POST['cidade'];
    $hoje=date('d/m/Y');
    $hasc=gerahasc();

    DB::insert('INSERT INTO 'usuarios'('Nome', 'Sobrenome', 'Email', 'Senha', 'NascDia', 'NascMes', 'NascAno', 'Cpf', 'NomeResponsavel', 'Console', 'Game', 'Ninck', 'Estado', 'Cidade', 'Qtdjogo', 'Vitorias', 'Derrotas', 'Empate', 'Vitoriawo', 'Derrotawo', 'Banido', 'Sinalizado', 'Bloqueado', 'Utimologin', 'Ativo', 'Has', 'Voucher') VALUES ('$nome','$sobrenome','$email','$senha',$diaN,'$mesN',$anoN,$cpf,'$nomeR','$console','$game','$nick','$estado','$cidade',0,0,0,0,0,0,0,0,0,'$hoje',1,'$hasc',2)')

error that is returning:

    
asked by anonymous 28.06.2018 / 16:29

1 answer

1

You are starting and closing the sql script with single quotation marks ('), and each varchar value that you enter also uses single quotation marks. This makes php interpret that every single quotation mark you use is breaking the string. Try to open and close the script with double quotation marks (") and use the single quotes only in the varchar fields of the insert that will solve your problem.

Type like this:

DB::insert("INSERT INTO 'usuarios'('Nome', 'Sobrenome', 'Email', 'Senha', 'NascDia', 'NascMes', 'NascAno', 'Cpf', 'NomeResponsavel', 'Console', 'Game', 'Ninck', 'Estado', 'Cidade', 'Qtdjogo', 'Vitorias', 'Derrotas', 'Empate', 'Vitoriawo', 'Derrotawo', 'Banido', 'Sinalizado', 'Bloqueado', 'Utimologin', 'Ativo', 'Has', 'Voucher') VALUES ('$nome','$sobrenome','$email','$senha',$diaN,'$mesN',$anoN,$cpf,'$nomeR','$console','$game','$nick','$estado','$cidade',0,0,0,0,0,0,0,0,0,'$hoje',1,'$hasc',2)")
    
28.06.2018 / 16:40