Nueva pregunta

Pregunta:

Fecha: 17-08-2016 07:54:46 (En Español)

Fatal error: Call to undefined method mysqli_stmt::get_result()[Resuelta]

hola con todos e subido una web con su respectiva base de datos a un hosting gratutito, que es hostinger a la hora de subir todo con filezilla y crear la base de datos me sale lo siguiente: CALL TO UNDEFINED METHOD MYSQLI_STMT::GET_RESULT.

ESPERO ME AYUDEN POR FAVOR
Etiquetas: Error - PHP - PHP Fatal error - Pregunta Votos: 2 - Respuestas: 6 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 17-08-2016 08:53:12 Hola, verifica la versión de PHP que tiene tu Hostinger.

    Después verifica que esa versión que tiene, ya tenga soporte para MySQLi, en especifico la clase MySQLI_STMT

    si tienes panel de control, ahí viene una opción que dice "PHP version" o la version PRO, es simplemente corre un comando phpinfo(); para obtener detalles del sistema


    La version de PHP:

    5.6 ya la tiene incluida y activada
    5.5 y 5.4 es necesario verificar si tiene la extension MySQLND instalada

    ====
    https://blog.elporfirio.com
      Votos: 3 - Link respuesta
     
  • Fecha: 17-08-2016 14:00:35 hola Rodrigo revise lo que me dijiste pude cbiar la versión del php a 5.6 y nada y lo de ver la versión del MySQL no hay esa opción para cambiar la versión o como veo si tiene el mysqlnd instalada????   Votos: 1 - Link respuesta
     
  • Fecha: 17-08-2016 17:11:33 Amigo, si te quieres dedicar a esto, debes de superar tus limites y evitar que te ayuden demás. Busca en varias fuentes como obtener la información que buscas.

    1 . Mira para ver que tienes instalado, crea un nuevo archivo que se llame info.php con el siguiente código:

    <?php
    phpinfo();
    


    2. guardalo en la raiz y entra a http://tusitio.com/info.php para ver lo que tienes instalado.

    3. en la página busca (presiona ctrl + f) por mysqlnd y debe aparecer al menos un resultado, en caso contrario simplemente no la tiene instalada.
      Votos: 2 - Link respuesta
     
  • Fecha: 17-08-2016 17:22:13 Hola Ivanor, en la documentación oficial de PHP verás que el método mysqli_stmt::get_result solo esta disponible con el controlador nativo de MySQL mysqlnd.

    Las extensiones de bases de datos MySQL deben estar configuradas para utilizar la Biblioteca Cliente de MySQL. Con el fin de utilizar el Controlador Nativo de MySQL, PHP necesita ser compilado especificando que las extensiones de bases de datos MySQL están compiladas con el soporte para el Controlador Nativo de MySQL. Esto se hace a través de opciones de configuración antes de compilar el código fuente de PHP.

    Por ejemplo, para compilar la extensión MySQL, mysqli y PDO MySQL utilizando el Controlador Nativo de MySQL, se daría el siguiente comando:


    ./configure --with-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    [other options]
    


    En resumen: no debe estar configurada las extensiones de bases de datos MySQL en el modulo de PHP, por lo que no vas a poder utilizar mysqli_stmt::get_result, por lo que deberás olvidarte de get_result y utilizar mysqli_stmt::bind_result y mysqli_stmt::fetch.

    Aquí un ejemplo de como se usan estas dos funciones:

    <?php
    $mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
    
    if (mysqli_connect_errno()) {
        printf("Falló la conexión: %s\n", mysqli_connect_error());
        exit();
    }
    
    /* sentencia preparada */
    if ($sentencia = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
        $sentencia->execute();
    
        /* vincular variables a la sentencia preparada */
        $sentencia->bind_result($col1, $col2);
    
        /* obtener valores */
        while ($sentencia->fetch()) {
            printf("%s %s\n", $col1, $col2);
        }
    
        /* cerrar la sentencia */
        $sentencia->close();
    }
    /* cerrar la conexión */
    $mysqli->close();
    
    ?>


    Espero que mi respuesta te sea de ayuda.

    Saludos y buen código!
      Votos: 1 - Link respuesta
     
  • Fecha: 23-08-2016 05:04:51 Una respuesta simple es la siguiente: no puedes usar el método getResult en Linux porque este no viene con el driver mysqlnd que se ocupa para estos fines. Es tan simple como eso.   Votos: 0 - Link respuesta
     
  • Fecha: 23-08-2016 06:24:12 Hola Max, no, no es un tema de Linux, sino de la configuración del modulo PHP (ya sea en Linux, Windows, etc...).

    Saludos,
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com