How do I insert this into the database through the form?

0

Hello,

I can not connect to the database. The following error is appearing:

  

Fatal error: Uncaught Error: Call to undefined function msqli_query ()   in C: \ xampp \ htdocs \ Clients \ data.php: 15 Stack trace: # 0   {main} thrown in C: \ xampp \ htdocs \ Clients \ dataClients.php on line 15

The PHP code is as follows:

<?php
$conexao = mysqli_connect("localhost","root","","bd_cadastroclientes");

$nome = isset($_POST['nome']) ? $_POST['nome'] : "";
$tel = isset($_POST['tel']) ? $_POST['tel'] : "";
$endereco = isset($_POST['endereco']) ? $_POST['endereco'] : "";
$cidade = isset($_POST['cidade']) ? $_POST['cidade'] : "";

//inserindo registros
$sql = "INSERT INTO tb_clientes (nome, telefone, endereco, cidade) VALUES ('$nome', '$tel', '$endereco', '$cidade')";

$salvar = msqli_query($conexao, $sql);  (<<< Aqui está o erro)

header("Location:dadosClientes.php");

And the HTML is this:

<!DOCTYPE html>
<html>
    <head>
        <title>Cadastro de Clientes</title>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="estilos/estilo.css">
    </head>
    <body>
        <div>
            <h1>Cadastro de Cliente</h1>

            <form method="post" action="dadosClientes.php">

                Nome Completo: <input type="text" name="nome" required autofocus /><br/><br/>
                Telefone:      <input type="text" name="tel" required><br/><br/>
                Endereço:      <input type="text" name="endereco" required><br/><br/>
                Cidade:        <input type="text" name="cidade" required><br/><br/>

                <input type="submit" name="enviar">
            </form>
        </div>
    </body>
</html>

Thank you very much! (obs: it seems very simple, but I can not.) kk)

    
asked by anonymous 13.09.2018 / 16:26

4 answers

2

I noticed now, it's spelled wrong

msqli_query() is mysqli_query()

    
13.09.2018 / 16:53
1

Hello, it is wrongly written query, try this:

 $salvar = mysqli_query($conexao,$sql);

Another cool thing to do and create a page just for connection, and when you need it just add it and do not have to type every time. It would look like this:

connection.php

<?php

$hostname = "localhost"; //se você estiver usando servidor local
$user = "root"; // usuario root
$password = ""; // meu banco nao possui senha, então fica em branco
$database = "NOME_SEU_BANCO"; //adiciona o banco de dados 
$conexao = mysqli_connect($hostname,$user,$password,$database);

if (!$conexao){
    print "falha na conexao com o BD";
}

?>

and when you need to add it on another page use include_once

ex on your page would look like this:

<?php

include_once("conexao.php");//usaria apenas essa linha, ao inves de digitar tudo com está em baixo 

        $conexao = mysqli_connect("localhost","root","","bd_cadastroclientes");

        $nome = isset($_POST['nome'])?($_POST['nome']):"";
        $tel = isset($_POST['tel'])?($_POST['tel']):"";
        $endereco = isset($_POST['endereco'])?($_POST['endereco']):"";
        $cidade = isset($_POST['cidade'])?($_POST['cidade']):"";

        //inserindo registros

        $sql = "insert into tb_clientes (nome,telefone,endereco,cidade) values ('$nome','$tel','$endereco','$cidade')";




        $salvar = msqli_query($conexao,$sql);  (<<< Aqui está o erro)

        header("Location:dadosClientes.php");
    
13.09.2018 / 17:43
0

Hello, I've made a code here that might help you.

home.html

<div>
<h1>Cadastro de Cliente</h1>
<form method="post" action="dadosClientes.php">
    Nome Completo: <input type="text" name="nome" placeholder="Digite seu Nome:" required autofocus /><br/><br/>
    Telefone: <input type="text" name="tel" placeholder="Digite seu telefone:" required><br/><br/>
    Endereço: <input type="text" name="endereco" placeholder="Digite seu endereço:" required><br/><br/>
    Cidade: <input type="text" name="cidade" placeholder="Digite sua cidade:" required><br/><br/>



    <input type="submit" name="enviar">
</form>
</div>

connection.php

<?php

$hostname = "localhost"; //se você estiver usando servidor local
$user = "root"; // usuario root
$password = ""; // meu banco nao possui senha, então fica em branco
$database = "bd_cadastroclientes"; //adiciona o banco de dados 
$conexao = mysqli_connect($hostname,$user,$password,$database);

if (!$conexao){
    print "falha na conexao com o BD";
}

?>

dataClients.php

<?php

include_once("conexao.php");



$nome =$_POST['nome'];
$tel =$_POST['tel'];
$endereco =$_POST['endereco'];
$cidade =$_POST['cidade'];


$sql = "insert into tb_clientes (nome,telefone,endereco,cidade) values ('$nome','$tel','$endereco','$cidade')";

$salvar = mysqli_query($conexao,$sql);

$linhas = mysqli_affected_rows($conexao);

mysqli_close($conexao);
}
?>

 <body>
<section>
 <?php

if($linhas == 1){
print"<h3>Sucesso! Formulario Enviado: <h3> <br>
<h5>Preenchido por: $nome - <br>
Telefone: $telefone -  <br>
endr :$endereco -  Em: $cidade - <br>

</h5>

<a href= inicio.php > <img src=  > </a>


                   ";

               }else{
                   print"<h2>Erro!<h2><h5>Consulte um Administrador:</h5>



                   <a href= inicio.php > <img src= > </a>

                   ";



               }

           header("Location:inicio.html");

               ?>


</section>

</body>
    
13.09.2018 / 18:03
0

Possibly mysqli is disabled on your php.ini .

Go to the php installation folder and look for the file php.ini .

Edit the file in Notepad and look for

extension=php_mysqli.dll

If it's commented out (with ; up front), like:

;extension=php_mysqli.dll

Remove the semicolon from the start:

extension=php_mysqli.dll
    
13.09.2018 / 16:31