I am doing a login, where first I do the select query to know if a username is already registered in my database, then I do an if ($stmt->num_rows()===0) if true I insert the username and password but I could not by error Fatal error:
Uncaught Error: Call to a member function bind_param() on bool.
Thanks in advance
PHP
    if ($accion === 'crear') {
     //Codigo para crear los administradores
     //importar la conexion
    include '../funciones/conexion.php';
    try{
        //Realizar la consulta a la base de datos
        $stmt =$conexion->prepare('SELECT usuario FROM usuarios 
        WHERE usuario =?');
        $stmt->bind_param('s', $usuario);
        $stmt->execute();
        
        if ($stmt->num_rows()===0) {
            //Hashear passwords
            $opciones = array('cost' => 12);
            $hash_password = password_hash($password, 
             PASSWORD_BCRYPT, $opciones);
            $sql=$conexion->prepare("INSERT INTO usuarios (usuario, 
              password) VALUES (?, ?)");
             $sql->bind_param('ss', $usuario , $hash_password);
             $sql->execute(); 
             $respuesta = array(
                'respuesta' =>'correcto',
                );
            
              }         
        
            //Si el usuario existe
           
            else {
                    $respuesta = array(
                        'respuesta' => 'Usuario Existe');
             }
          
        $sql->close();
        $stmt->close();
        $conexion->close();   
        }catch(Exception $e){
        //En caso de un error, tomar la excepcion
        $respuesta = array('pass' =>$e->getMessage() );
         }
     echo json_encode($respuesta); 
}
javascript
function validarRegistro(e){
       e.preventDefault();
    var usuario = document.querySelector('#usuario').value,
        password = document.querySelector('#password').value,
        tipo = document.querySelector('#tipo').value;
    if (usuario === '' || password === '') {
        //la validacion falló
        swal({
            type: 'error',
            title: 'Error!',
            text: 'Usuario y/o Password están en blanco'
        })
    } else {
        //Ambos campos son correctos, mandar a ejecutar Ajax
        
        //datos que se envian al servidor
        var datos = new FormData();
        datos.append('usuario', usuario);
        datos.append('password', password);
        datos.append('accion', tipo);
        // crear el llamado a ajax
        var xhr = new XMLHttpRequest();
        //abrir la conexion 
        xhr.open('POST', 'inc/modelos/modelo-admin.php', true);
        //retorno de datos
        xhr.onload=function(){
            if (this.status === 200) {
                var respuesta = (JSON.parse(xhr.responseText));
          console.log(respuesta);
                //Si la respuesta es correcta
                if (respuesta.respuesta === 'correcto') {
                    //Si es un usuario nuevo
                    if (respuesta.tipo === 'crear') {
                        swal({
                            title: 'Usuario Creado',
                            text: 'El usuario se creó 
                exitosamente',
                            type: 'success'
                        });
                    } 
                                        
                }else{
                      //Hubo un error
                        swal({
                            title: 'Error',
                            text: 'Usuario ya existe',
                            type: 'error'
                        });
                    }
            }
        }
        //Enviar la peticion
        xhr.send(datos);
    }    
}
 
    