Use PHP PDO to search

-4

Where is the error in my code. I do not know why it does not return the search result.

<?php
require_once('db_connect.php');
$conectar = new 
PDO("mysql:host=$host;bancodedados=$bancodedados;charset=utf8", 
$usuario, $senha);

$nomeProduto = $_POST['nomeProduto'];
$sql = "SELECT * FROM nilo_db.nilo_tb WHERE nomeProduto = 
:nomeProduto";
$queryResult = $conectar->prepare($sql);
$queryExec = $queryResult- 
>execute(array(":nomeProduto"=>$nomeProduto));
if($queryExec){
    if($queryResult->rowCount()>0){
        foreach($queryResult as $row){ ?>
            <tr>
                <td class="col">
                    <?php echo $row['nomeProduto'] ?>
                    <?php echo $row['codigoProduto'] ?>
                </td>
            </tr>
        <?php }
       }
    }
?>
    
asked by anonymous 10.09.2018 / 23:57

1 answer

0
  • In the connection string, change bancodedados=$bancodedados to dbname=$bancodedados
  • If you did not paste the code here, hit this line of code

    $queryExec = $queryResult- 
    >execute(array(":nomeProduto"=>$nomeProduto));
    

    to avoid errors of type PHP Parse error: syntax error, unexpected '>' in ....

      

    The correct one is without line break -> and no spaces

    $queryExec = $queryResult->execute(array(":nomeProduto"=>$nomeProduto));

Fixed code

    $conectar = new PDO("mysql:host=$host;dbname=$bancodedados;charset=utf8", $usuario, $senha);

    $nomeProduto = $_POST['nomeProduto'];
    $sql = "SELECT * FROM nilo_db.nilo_tb WHERE nomeProduto = :nomeProduto";

    $queryResult = $conectar->prepare($sql);
    $queryExec = $queryResult->execute(array(":nomeProduto"=>$nomeProduto));
    if($queryExec){
        if($queryResult->rowCount()>0){
            foreach($queryResult as $row){ ?>
                <tr>
                    <td class="col">
                        <?php echo $row['nomeProduto'] ?>
                        <?php echo $row['codigoProduto'] ?>
                    </td>
                </tr>
            <?php }
           }
        }

How to connect a MySQL database using PHP

  

Using PDO

$conectar = new PDO("mysql:host=HOST;dbname=NOME_DB", "USUARIO", "SENHA");
  • HOST: Database connection host;
  • USER: Connection database access user;
  • PASSWORD: Password to access the database specified in the connection;
  • DB_NAME: Name of the database you want to access.
11.09.2018 / 03:35