Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mensagem de erro fazendo referencia a o seguinte arquivo/linha C:\xampp\htdocs\mercado\system\database\drivers\mysql\mysql_driver.php on line 92

Mu código, mesmo copiado de do exercício até aqui (aula 2), está apresentando a seguinte mensagem de erro:

Fatal error: Uncaught Error: Call to undefined function mysql_pconnect() in C:\xampp\htdocs\mercado\system\database\drivers\mysql\mysql_driver.php:92 Stack trace: #0 C:\xampp\htdocs\mercado\system\database\DB_driver.php(116): CI_DB_mysql_driver->db_pconnect() #1 C:\xampp\htdocs\mercado\system\database\DB.php(149): CI_DB_driver->initialize() #2 C:\xampp\htdocs\mercado\system\core\Loader.php(347): DB(Array, NULL) #3 C:\xampp\htdocs\mercado\application\controllers\produtos.php(6): CI_Loader->database() #4 C:\xampp\htdocs\mercado\system\core\CodeIgniter.php(360): Produtos->index() #5 C:\xampp\htdocs\mercado\index.php(202): require_once('C:\xampp\htdocs...') #6 {main} thrown in C:\xampp\htdocs\mercado\system\database\drivers\mysql\mysql_driver.php on line 92

produtos.php

<?php
class Produtos extends CI_Controller{

    public function index()
    {
        $this->load->database();
        $this->load->model("produtos_model");
        $produtos = $this->produtos_model->buscaTodos();

        $dados = array("produtos" => $produtos);
        $this->load->view("produtos/index.php", $dados);
    }
}
?>

index.php

<html lang="en">
<head>
    <link rel="stylesheet" href="css/bootstrap.css">
</head>
<body>
<    <div class="container">
        <h1>Produtos</h1>
        <table class="table">
        <?php foreach($produtos as $produto) : ?>
            <tr>
                <td><?= $produto["nome"]?></td>
                <td><?= $produto["preco"]?></td>
            </tr>
        <?php endforeach ?>
        </table>
    </div>
</body>
</html>

produtos_model.php

<?php
class Produtos_model extends CI_Model {

public function buscaTodos() {
        return $this->db->get("produtos")->result_array();
    }
}

database.php //parte do arquivo

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'mercado';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
2 respostas

Lá no database.php troque o driver para mysqli

$db['default']['dbdriver'] = 'mysqli';

A extensão original MySQL está obsoleta no PHP 5.5 em diante http://php.net/manual/en/migration55.deprecated.php

solução!

Uau.. tá de parabéns brother! Valeu mesmo Ricardo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software