Pues mira la verdad yo jamas he usado el odbc, pero no entiendo por que
si php tiene su propia libreria para mysql y la cual funciona mucho
mejor que cualquier otra cosa que puedas usar, estas usando el odbc....
no le encuentro sentido.....??
Alfredo Campos wrote:
Queridos Linuxeros:
A ver... después de pelearme otro rato con el unixODBC resulta que
obtengo un comportamiento extraño.
Estado actual:
Tengo finalmente una configuración que parece funcionar.
En /etc/odbc.ini tenemos
[ODBC]
Trace = Yes
TraceFile = /tmp/sql.log
ForceTrace = No
Pooling = Yes
[MySQL]
Description = Driver de ODBC para MySQL
Driver = /usr/lib/libmyodbc3.so
Setup =
FileUsage = 2
CPTimeout = 3
CPReuse = 2
En /etc/odbcinst.ini tenemos:
[myodbc3]
Driver = /usr/lib/libmyodbc3.so
Description = MySQL ODBC 3.51 Driver DSN
SERVER = localhost
PORT = 3306
USER = yuserneim
Password = P4SsGu0r
Database = test
OPTION = 3
SOCKET =
Y en mi archivo de ejemplo tenemos:
?php
$DSN = "Driver=MySQL;Server=localhost;Database=test";
$conn=odbc_connect($DSN,'yuserneim','P4SsGu0r');
if (odbc_error() && strlen(chop(trim(odbc_error())))>0) {
echo odbc_errormsg();
die('<p>Unable to connect to the database server at this
time.</p>');
}
else {
echo "<p>Ya me conecte</p>";
$cur=odbc_exec($conn,"SELECT * FROM user");
while (odbc_fetch_row($res)) {
echo "<p>".odbc_result($cur,0)." -
".odbc_result($cur,1)."</p>\n";
}
}
?>
Y bueno.. al menos no me manda ningún tipo de error al STDOUT
(navegador). Y checando el /tmp/sql.log tampoco muestra alguna clase de
error pues la salida dice:
[ODBC][2986][__handles.c][399]
Exit:[SQL_SUCCESS]
Environment = 0x81f16d8
[ODBC][2986][SQLAllocHandle.c][328]
Entry:
Handle Type = 2
Input Handle = 0x81f16d8
[ODBC][2986][SQLAllocHandle.c][448]
Exit:[SQL_SUCCESS]
Output Handle = 0x81f1c68
[ODBC][2986][SQLDriverConnect.c][600]
Entry:
Connection = 0x81f1c68
Window Hdl = (nil)
Str In =
[Driver=MySQL;Server=localhost;Database=mysql;UID=root;PWD=******][length
= 63]
Str Out = 0xbfff7e80
Str Out Max = 300
Str Out Ptr = 0xbfff7e7e
Completion = 0
UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE
'UCS-2LE'
Pero oh sorpresa.... a la hora de que ejecuto el script de php
sencillamente no me muestra nada :/ no hace nada.. contacta al
webserver.. pero pues ya no manda ningúna clase de mensaje.. ni de error
ni prosigue la ejecución... me supongo que el parser de PHP está
tronando como ejote.. pues por los logs y la ausencia de mensajes de
error me indican que no es problema del ODBC..
Sugerencias?
Saluditos geeks
--
Ing. Abel Hernandez Zanatta
Isssspea
Soporte Tecnico y Redes
01(449)910-2080 ext. 3835 01(449)910-2081 Cell 044 449 4486118