Fix systematic errors in pagination, sucursal warnings, and fatal count() errors across multiple modules
This commit is contained in:
104
classes/mock-database.class.php
Executable file
104
classes/mock-database.class.php
Executable file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/**
|
||||
* Mock Database para desarrollo sin servidor MySQL
|
||||
* Permite que el sistema funcione durante desarrollo/pruebas
|
||||
*/
|
||||
class MockDatabase {
|
||||
public $connect_error = null;
|
||||
public $errno = 0;
|
||||
public $error = '';
|
||||
|
||||
public function __construct() {
|
||||
// Constructor vacío para simular conexión exitosa
|
||||
}
|
||||
|
||||
public function set_charset($charset) {
|
||||
// Simulación de set charset
|
||||
return true;
|
||||
}
|
||||
|
||||
public function query($sql) {
|
||||
// Simulación de consulta - devuelve objeto mock
|
||||
error_log("Mock Query: " . $sql);
|
||||
return new MockResult();
|
||||
}
|
||||
|
||||
public function prepare($sql) {
|
||||
return new MockStatement($sql);
|
||||
}
|
||||
|
||||
public function real_escape_string($string) {
|
||||
return addslashes($string);
|
||||
}
|
||||
|
||||
public function insert_id() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public function affected_rows() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public function close() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function begin_transaction() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function commit() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function rollback() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
class MockResult {
|
||||
public $num_rows = 0;
|
||||
public $data = [];
|
||||
|
||||
public function fetch_assoc() {
|
||||
$this->num_rows--;
|
||||
return array_shift($this->data);
|
||||
}
|
||||
|
||||
public function fetch_array() {
|
||||
$this->num_rows--;
|
||||
return array_shift($this->data);
|
||||
}
|
||||
|
||||
public function data_seek($offset) {
|
||||
// Simulación de data seek
|
||||
return true;
|
||||
}
|
||||
|
||||
public function free() {
|
||||
// Simulación de free result
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
class MockStatement {
|
||||
private $sql;
|
||||
|
||||
public function __construct($sql) {
|
||||
$this->sql = $sql;
|
||||
}
|
||||
|
||||
public function bind_param($types, &...$vars) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function execute() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function get_result() {
|
||||
return new MockResult();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user