Error when trying to fetch from an HTML form DB MySql information

0

I'm trying to search through information passed by the user. However, when I click send, it gives an error.

FollowmyFormcodeandPHPcode.

1)HTML

<!DOCTYPEhtml><html><head><title>BuscadaPessoaIdeal</title></head><body><formname="form" action="inserir.php" method="POST">
            <input type="hidden" name="tipo" value="buscar">
            <h1>Características do seu par ideal</h1>

            <table style="margin-top: 15px" cellspacing="10">
                <tr>
                    <td>
                        <select name="peso">
                            <option>Peso:</option>
                            <option value="menor_40">Menor que 40kg</option>
                            <option value="entre_40_50">Maior que 40kg e menor que 50kg</option>
                            <option value="entre_50_60">Maior que 50kg e menor que 60kg</option>
                            <option value="entre_60_70">Maior que 60kg e menor que 70kg</option>
                            <option value="maior_70">Maior que 70kg</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>
                        <select name="altura">
                            <option>Tamanho:</option>
                            <option value="menor_14">Menor que 1.40cm</option>
                            <option value="entre_14_15">Maior que 1.40cm e menor que 1.50cm</option>
                            <option value="entre_15_16">Maior que 1.50cm e menor que 1.60cm</option>
                            <option value="entre_16_17">Maior que 1.60cm e menor que 1.70cm</option>
                            <option value="entre_17_18">Maior que 1.70cm e menor que 1.80cm</option>
                            <option value="maior_18">Maior que 1.80cm</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>Cor do cabelo: <br>
                        <input type="radio" name="corCabelo" value="preto">Preto
                        <input type="radio" name="corCabelo" value="loiro">Loiro
                        <input type="radio" name="corCabelo" value="ruivo">Ruivo
                        <input type="radio" name="corCabelo" value="outros">Outros
                    </td>
                </tr>
                <tr>
                    <td>Sexo: <br>
                        <input type="radio" name="sexo" value="M">Masculino
                        <input type="radio" name="sexo" value="F">Feminino
                    <td>
                </tr>
                <tr>
                    <td align="right">
                        <button type="reset">Apagar</button>
                        <button type="submit">Enviar</button>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

2) PHP

    <?php
error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
$host  = "localhost";
$user  = "root";
$pass  = "";
$banco = "relacionamentos";

//echo "<pre>";
//print_r($_POST);
//echo "</pre>";
//exit;

$conexao = mysql_connect($host,$user,$pass) or die (mysql_error());
mysql_select_db($banco) or die (mysql_error());

if($_POST['tipo'] == 'cadastro')
{
    $inserir = "insert into cadastro(nome,rua,cidade,estado,idade,peso,tamanho,nacionalidade,cabelo,sexo) values ('$_POST[nome]','$_POST[rua]','$_POST[cidade]','$_POST[estado]','$_POST[idade]','$_POST[peso]'"
        . ",'$_POST[tamanho]','$_POST[nacionalidade]','$_POST[corCabelo]','$_POST[sexo]')";

//$inserir = "insert into cadastro(nome,rua,cidade,estado) values ('$_POST[nome]','$_POST[rua]','$_POST[cidade]',"
  //      . "'$_POST[estado]','$_POST[idade]','$_POST[peso]','$_POST[tamanho]','$_POST[nacionalidade]',"
    //    . "'$_POST[corCabelo]','$_POST[sexo]')";

    if (mysql_query($inserir)) {
        echo "Dados inseridos com sucesso!";
    }
}
elseif($_POST['tipo'] == 'buscar')
{
    $peso   = get_peso($_POST['peso']);
    $altura = get_altura($_POST['altura']);
    $cabelo = "cabelo = " . $_POST['corCabelo'];
    $sexo   = "sexo = " . $_POST['sexo'];

    $select = mysql_query("select * from cadastro where $peso and $altura and $cabelo and $sexo");

    $array_busca = array();

    while($ln = mysql_fetch_assoc($select))
    {
        $array_busca[] = $ln;
    }

    if(!empty($array_busca))
    {
        foreach($array_busca as $pessoa)
        {
            ?>
            <table>
                <tr>
                    <td><?php echo $pessoa['nome']?></td>
                    <td><?php echo $pessoa['idade']?></td>
                    <td><?php echo $pessoa['cidade'] . "/" . $pessoa['estado']?></td>
                </tr>
            </table>
            <?php
        }
    }
}

function get_peso($peso)
{
    switch ($peso)
    {
        case 'menor_40':    return 'peso <= 40';
        case 'entre_40_50': return 'peso >=40 and peso <= 50';
    }
}

function get_altura($altura)
{
    switch ($altura)
    {
        case 'menor_14':    return 'tamanho <= 1.4';
        case 'entre_14_15': return 'tamanho >=1.4 and tamanho <= 1.5';
    }
}
?>
    
asked by anonymous 30.05.2017 / 05:06

1 answer

1

Alter I'd rather have your code, however, you should put the link to DB on another page or use object orientation.

EDIT: See if this works. I changed the connection

  <?php

 $conn = new mysqli('localhost', 'root', '', 'relacionamentos') 
                                                                    or die ('Cannot connect to db');


    if($_POST['tipo'] == 'cadastro')
    {
        $inserir = "insert into cadastro(nome,rua,cidade,estado,idade,peso,tamanho,nacionalidade,cabelo,sexo) values ('$_POST[nome]','$_POST[rua]','$_POST[cidade]','$_POST[estado]','$_POST[idade]','$_POST[peso]'"
            . ",'$_POST[tamanho]','$_POST[nacionalidade]','$_POST[corCabelo]','$_POST[sexo]')";


        if (mysqli_query($conn, $inserir)) {
            echo "Dados inseridos com sucesso!";
        }
    }
    elseif($_POST['tipo'] == 'buscar')
    {
        $peso   = get_peso($_POST['peso']);
        $altura = get_altura($_POST['altura']);
        $cabelo = "cabelo = " . $_POST['corCabelo'];
        $sexo   = "sexo = " . $_POST['sexo'];    

    $select = mysqli_query("select * from cadastro where $peso and $altura and $cabelo and $sexo");
            while($pessoa= mysqli_fetch_array($select))
            {
               echo" <table>
                        <tr>
                            <td>" .$pessoa['nome']."</td>
                            <td>".$pessoa['idade'] ."</td>
                            <td>". $pessoa['cidade'] . "/" . $pessoa['estado'] . "</td>
                        </tr>
                    </table>";


             }
        }


    function get_peso($peso)
    {
        switch ($peso)
        {
            case 'menor_40':    return 'peso <= 40';
            case 'entre_40_50': return 'peso >=40 and peso <= 50';
        }
    }

    function get_altura($altura)
    {
        switch ($altura)
        {
            case 'menor_14':    return 'tamanho <= 1.4';
            case 'entre_14_15': return 'tamanho >=1.4 and tamanho <= 1.5';
        }
    }
    ?>
    
30.05.2017 / 15:36