104 lines
2.0 KiB
PHP
Executable File
104 lines
2.0 KiB
PHP
Executable File
<?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();
|
|
}
|
|
}
|
|
|
|
?>
|