Error could not find driver en php 7.2

publicado por: Anonymous

PHP:

<?php
//incluimos nuestra conexion
include_once("../Modelo/conexion_login.php");


try {
             //creamos nuestra conexion
             $dbConn = new PDO('mysqli:host=localhost; login_tm', 'root', '1998');

             $dbConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // creamos el try catch para que nos diga lo que sucede con la conexion 
             


         $busqueda=$_GET["Buscar"];

         require ("../Modelo/conexion_login.php");

          $dbConn->exec("set_character set utf8");

          $sql="SELECT * FROM USUARIOS WHERE CORREO LIKE '%$busqueda'";

          $result=$dbConn->prepare($sql);

          $result->execute(array("$busqueda"));
?>

HTML:

<html>
<head>    
    <title>Ver Usuarios Registrados</title>
                <link rel="icon" type="/image/png" href="../../Login/img/tm.ico"/>
                        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
                        <style>
                            .borde{
                                background-color: yellow;
                                text-align: left;
                            }
                             .borde2{
                                background-color: #0F8886;
                                height: 80px;
                                top: 620px;
                                
                            }
                               .borde3{
                                right: 24px;
                                
                            }
                            

                         
                        </style>

</head>

<body>
               <nav class="navbar navbar-expand-sm bg-info navbar-dark"><!--navbar-expand-lg,md,fixed-bottom-->
                   <a href="#" class="navbar-brand"><img src="ets2_00005.png" style="width: 30px;"></a>
                   <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#uno">
                       <span class="navbar-toggler-icon"></span></button>
                    <div class="collapse navbar-collapse" id="uno"><!-- flex-center, flex-column nav-pills -->
                        <ul class="navbar-nav">
                            <h1>Administracion de usuarios</h1>
                        <li class="nav-item"><a href="../Vista/panel_de_control.php" class="nav-link">Volver al incio</a></li>
                        <li class="nav-item"><a href="#" class="nav-link">Link 2</a></li>
                        <li class="nav-item"><a href="#" class="nav-link">Link 3</a></li>
                        <li class="nav-item"><a href="#" class="nav-link">Link 4</a></li>
                        <li class="nav-item dropdown"><a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" id="navbardrop">Link5</a>
                            <div class="dropdown-menu">
                                <a href="#" class="dropdown-item">Sub item 1</a>
                                <a href="#" class="dropdown-item">Sub item 2</a>
                                <a href="#" class="dropdown-item">Sub item 3</a>
                                <a href="#" class="dropdown-item">Sub item 4</a>
                            </div>
                        </li>
                        <form action="busqueda.php" method="get" class="form-inline">
            <button class="btn-success" type="Submit" name="Buscar">Buscar</button>
        </form>
                        </ul>      
                    </div>       
            </nav>
  
    <br></br><br></br> 
    <div class="container">
    <table class="table table-dark table-hover" width='80%' border=0>
            
            

    <tr bgcolor='#CCCCCC'>
        <td>Correo</td>
        <td>Contraseña</td>
        <td>Tipo Usuario</td>
                <td>Editar Usuario</td>
                <td>Eliminar Usuario</td>
        
    </tr>
    <?php     
    while($row = $result->fetch(PDO::FETCH_ASSOC)) {         
        echo "<tr>";
        echo "<td>".$row['correo']."</td>";
        echo "<td>".$row['contrasena']."</td>";
        echo "<td>".$row['tipo_usuario']."</td>";    
        echo "<td><a href="../Controlador/editar_usuarios.php?id=$row[id]">Editar</a</td>";
                 echo "<td><a href="../Controlador/eliminar_usuario.php?id=$row[id]" onClick="return confirm('Are you sure you want to delete?')">Eliminar</a></td>";        
    }

         }catch(PDOException $e) {
             die('Error ' . $e->getMessage());
         }finally{
             $dbConn=null;
         }
    ?>
    </table>
    </div>
    
    
    <div class="borde3">

    </div>
    <div>
               <h1 class="col-12 borde2 fixed-bottom display-4"></h1>  
               
    </div>
</body>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>

</html>

solución

Te comento que tu error se encuentra en la línea siguiente

$dbConn = new PDO('mysqli:host=localhost; login_tm', 'root', '1998');

¿por qué?

Bien PDO es una capa de abstracción para poder interactuar con varios gestgores de bases de datos, entre los cuales por supuesto esta MySQL; sin embargo cuando creas la conexión debes apuntar al driver MySQL y tu por el contrario colocas mysqli el cual por supuesto no reconoce por que no existe

solución

Declara tu misma cadena de conexión pero apuntando a mysql

$dbConn = new PDO('mysql:host=localhost; dbname = login_tm', 'root', '1998');

Por otro lado también es necesario que coloques dbname = nombre_bd
para indicar a que base de datos deseas acceder

Aqui mas información de la documentación oficial de PDO que es para PHP

http://php.net/manual/es/pdo.connections.php

Respondido por: user75901

Leave a Reply

Your email address will not be published. Required fields are marked *