Hola, les escribo para preguntar algo básico, espero me ayuden en esto pues soy principiante en Bases de datos con PHP.
Estoy batallando con los archivos common y db_odbc para realizar la conexión a la base de datos que tengo en PhpMyAdmin; concretamente no he podido realizarla pues tengo duda en lo que hay que customizar/cambiar aquí les muestro lo que tengo en c/u de los archivos:
en db_odbc una parte del archivo original es:
------------------------------------
class DB_Sql {
var $Host = "";
var $Database = "";
var $User = "";
var $Password = "";
var $UseODBCCursor = 0;
var $Link_ID = 0;
var $Query_ID = 0;
var $Record = array();
var $Row = 0;
var $Errno = 0;
var $Error = "";
var $Auto_Free = 0; ## set this to 1 to automatically free results
function connect() {
if ( 0 == $this->Link_ID ) {
$this->Link_ID=odbc_pconnect($this->Database, $this->User,
$this->Password, $this->UseODBCCursor);
if (!$this->Link_ID) {
$this->halt("Link-ID == false, odbc_pconnect failed");
}
}
}
function query($Query_String) {
$this->connect();
-------------------------------------------------
y yo le cambié los datos por los míos:
(las instrucciones me indican que debo sustituir por mis datos el Host, la Base de Datos, el usuario de esta base de datos y la contraseña, además de las Connection Strings, lo que hice)
-------------------------------------------------
class DB_Sql {
var $Host = "localhost";
var $Database = "joel_SitioMySQL";
var $User = "joel_cmysql";
var $Password = "clave";
var $UseODBCCursor = 0;
var $Link_ID = 0;
var $Query_ID = 0;
var $Record = array();
var $Row = 0;
var $Errno = 0;
var $Error = "";
var $Auto_Free = 0; ## set this to 1 to automatically free results
function connect() {
if ( 0 == $this->Link_ID ) {
$this->Link_ID=mysql_connect ("localhost", "joel_cmysql", "clave") or die ('I cannot connect to the database
because: ' . mysql_error());mysql_select_db ("joel_SitioMySQL");
if (!$this->Link_ID) {
$this->halt("Link-ID == false, odbc_pconnect failed");
}
}
}
function query($Query_String) {
$this->connect();
--------------------------------------------------
el problema está en $this->Link_ID=mysql_connect ("localhost", "joel_cmysql", "clave")
ahí yo coloqué la Connection Strings que me indicaba en mi base de datos para PHP:
$dbh=mysql_connect ("localhost", "joel_cmysql", "<PASSWORD HERE>") or die ('I cannot connect to the database
because: ' . mysql_error()); mysql_select_db ("joel_SitioMySQL");
De seguro algo en los cambios me está fallando, espero me ayuden chicos.
Ah!, y en common tengo:
-----------------------------------------------
include("./db_odbc.inc");
define("DATABASE_NAME","joel_SitioMySQL");
define("DATABASE_USER","joel_cmysql");
define("DATABASE_PASSWORD","clave");
define("DATABASE_HOST","localhost");
//-- Database class
$db = new DB_Sql();
$db->Database = joel_SitioMySQL;
$db->User = joel_cmysql;
$db->Password = clave;
$db->Host = localhost;
$db2 = new DB_Sql();
$db2->Database = joel_SitioMySQL;
$db2->User = joel_cmysql;
$db2->Password = clave;
$db2->Host = localhost;
-----------------------------------------------
Me imagino que esto sí está correcto y no hay más parámetros que customizar :P
Y me aparece como error al entrar en Default.php
Fatal error: Call to undefined function: odbc_exec() in /home/joel/public_html/Sitio/db_odbc.inc on line 47
(La línea 47 es precisamente donde se encuentra la conexión erróneamente escrita)
Gracias de antemano