Amigos: no se que puede estar pasando... pero una conexion a MySQL usando ADODB5, me pisa la anterior:
Código PHP:
<?php
Include('clases/adodb5/adodb.inc.php'); // cargo la clase
$DB= NewADOConnection('mysql');
$DB->connect('localhost', 'root', '','easypost');
$con_dic= NewADOConnection('mysql');
$con_dic->connect('localhost', 'root', '','diccio');
$rs = $DB->execute ("SELECT contenido FROM `posts` WHERE id=5");
echo $rs->fields['contenido']; // no imprime NADA
?>
Lo anterior no imprime absolutamente NADA, aunque esto si:
Código PHP:
<?php
Include('clases/adodb5/adodb.inc.php'); // cargo la clase
$DB= NewADOConnection('mysql');
$DB->connect('localhost', 'root', '','easypost');
$rs = $DB->execute ("SELECT contenido FROM `posts` WHERE id=5");
echo $rs->fields['contenido']; // AHORA SI IMPRIME !!!!
$con_dic= NewADOConnection('mysql');
$con_dic->connect('localhost', 'root', '','diccio');
?>
Como puede ser esto posible ???
Cita: Fatal error: Uncaught exception 'ADODB_Exception' with message 'mysql error: [1146: Table 'diccio.posts' doesn't exist] in EXECUTE("SELECT contenido FROM `posts` WHERE id=5") ' in C:\xampp\htdocs\easypost\clases\adodb5\adodb-exceptions.inc.php:78 Stack trace: #0 C:\xampp\htdocs\easypost\clases\adodb5\adodb.inc.p hp(1043): adodb_throw('mysql', 'EXECUTE', 1146, 'Table 'diccio.p...', 'SELECT contenid...', false, Object(ADODB_mysql)) #1 C:\xampp\htdocs\easypost\clases\adodb5\adodb.inc.p hp(1018): ADOConnection->_Execute('SELECT contenid...', false) #2 C:\xampp\htdocs\easypost\testx.php(13): ADOConnection->Execute('SELECT contenid...') #3 {main} thrown in C:\xampp\htdocs\easypost\clases\adodb5\adodb-exceptions.inc.php on line 78
y la unica forma de solucionar es re-conectar justo antes de usar la conexion que habia perdido:
Código PHP:
$DB->connect('localhost', 'root', '','easypost');
¿ es acaso lo que se busca con el
patron Singleton ? si uno tiene 5 bases de datos en un proyecto (por decir algo),... no seria deseable que puedan existir 5 instancias del metodo de conexion a la DB ?