Foros del Web » Programando para Internet » PHP »

Ayuda para consulta a base de datos en php

Estas en el tema de Ayuda para consulta a base de datos en php en el foro de PHP en Foros del Web. Quiero programar una pagina en php que haga una consulta a la base de datos y me devuelva los resultados. El problema es que cuando ...
  #1 (permalink)  
Antiguo 11/07/2006, 10:28
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
Ayuda para consulta a base de datos en php

Quiero programar una pagina en php que haga una consulta a la base de datos y me devuelva los resultados. El problema es que cuando accedo por web a la pagina php no me devulelve los resultados de la consulta, sino el mismo codigo que puse en el archivo php. Pongo el codigo del archivo php, para que me ayudeis a encontrar los errores:

Código:
<?
sql_query("select *from nuke_authors");
?>

o tb

<?
sql_query("INSERT INTO nuke_authors (aid, pwd) VALUES ('admin', 'eeb97f442636f4dc617c2c935185cb36')", $dbi);
Tengo entendigo que antes hay que hacer la conexion al servidor mysql, seria algo asi no:
Código:
$sql=mysql_connect($sqlserver,$user,$pass);
mysql_select_db($dest_db);
Pero no estoy seguro, ya que soy novato en esto del php, agradeceria vuestra ayuda.

Saludos.
  #2 (permalink)  
Antiguo 11/07/2006, 10:30
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 2 meses
Puntos: 9
q error te tira?. lo q decis esta bien...

fijate q el codigo q pones dice sql_query en vez de mysql_query asi q tambien tendrias q incluir la clase o funcion de base para mysql del phpnuke
  #3 (permalink)  
Antiguo 11/07/2006, 10:51
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
Código:
Warning: mysql_connect(): Access denied for user 'ODBC'@'localhost' (using password: NO) in laweb/archivo.php line 3

Warning: mysql_select_db(): Access denied for user 'ODBC'@'localhost' (using password: NO) in laweb/archivo.php on line 4

Warning: mysql_select_db(): A link to the server could not be established in  laweb/archivo.php on line 4

Fatal error: Call to undefined function: sql_query() in laweb/archivo.php on line 6
Me da estos errores. Yo tengo el user y el pass en config.php. El utlimo error es lo de definir la funcion, pero nose como hacerlo.
  #4 (permalink)  
Antiguo 11/07/2006, 10:53
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 2 meses
Puntos: 9
el error ya esta en la conexion, tenes q fijarte de incluir el archivo de conexion en tu codigo, el q estas armando

include 'config.php';

ademas tal cual l oq te anticipe no tenes tampoco incluida la libreria donde esta definida la funcion sql_query()
  #5 (permalink)  
Antiguo 11/07/2006, 11:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Iniciado por N0vat0
Código:
Warning: mysql_connect(): Access denied for user 'ODBC'@'localhost' (using password: NO) in laweb/archivo.php line 3

Warning: mysql_select_db(): Access denied for user 'ODBC'@'localhost' (using password: NO) in laweb/archivo.php on line 4

Warning: mysql_select_db(): A link to the server could not be established in  laweb/archivo.php on line 4

Fatal error: Call to undefined function: sql_query() in laweb/archivo.php on line 6
Me da estos errores. Yo tengo el user y el pass en config.php. El utlimo error es lo de definir la funcion, pero nose como hacerlo.
Además de lo indicado (si no indicas el código completo que usas es complicado dar más guías sobre lo que te pueda pasar...), revisa los datos de conexión de tu usuario .. mencionas un tal "ODBC" ... no sabemos (por qué no lo especificas) quien creó ese usuario y con qué permisos o como pretendes conectarte a tu servidor Mysql (en forma "local?" .. en forma remota? .. está PHP en el mismo servidro que Mysql? ..) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 11/07/2006, 11:14
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
el codigo que pongo en el archivo.php es:
Código:
<?
$sql=mysql_connect($sqlserver,$user,$pass);
mysql_select_db($dest_db);

sql_query("select *from nuke_authors");
?>
No entiendo porque me sale ODBC'@'localhost' como usuario cuando en el config.php tengo "$dbname = "nx000017_";". A lo mejor es porque no inclui el config.php? Quiero acceder remotamente.
El otro error que es lo de incluir la libreria donde esta definida la funcion sql_query() nose bien como hacerlo.
  #7 (permalink)  
Antiguo 11/07/2006, 11:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
pero el $user y $pass que usas, además del "$sqlserver" que datos indicas? .. Debes usar un usuario de Mysql válido en tu servidor.

Estás usando "PHP-Nuke" .. (o accediendo a su BBDD y usando sus própios scripts de conexión a BBDD y demás? ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 11/07/2006, 11:47
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
$user y $pass si son validos y estan en el config.php. El $sqlserver, lo he mirado en el config.php y no esta, nose lo que hay que poner ahi.

Pero ahora el unico error que me da es el de definir la funcion sql_query, como la defino? Una vez hecho eso miro si funciona y si no ya veremos.
  #9 (permalink)  
Antiguo 11/07/2006, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pero tu conoces los datos de conexión para tus BBDD?

Necesitas siempre minimo los siguientes datos:
* Un "Host" o domino/IP del servidor Mysql .. en muchos casos es "localhost"
* Una cuenta de usuario en ese servidor Mysql: ese "usuario" y "contraseña" que tu has creado o alguien te proporcionó.
* El nombre de la Base de datos a la que te vas a conectar (alguien o tu la debes crear o te lo deben proporcionar).

la variable "$sqlserver" por algún lado le debes dar valor (revisa bien tu código o exponlo en el foro ..).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 11/07/2006, 12:07
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
Mira el host es "localhost", ya que esta en la misma maquina que php-nuke.
El usuario es ="yo" y el pass es "1234" (suponiendo).
Y el nombre de la base de datos no lo se pero no supone que es "yo@localhost"?
El codigo lo puse completo, no es mas que eso, y no toman valor ninguna variable, mi idea era que lo cogieran del config.php, pero me daria igual poner el valor directamente.
De todas maneras sql_query si que habria que definirla y se supone que la interpretaria php-nuke.

Bueno, gracias por contestar y perdona si las preguntas son un poco absurdas.
  #11 (permalink)  
Antiguo 11/07/2006, 12:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Y el nombre de la base de datos no lo se pero no supone que es "yo@localhost"?
Pues .. no puedes suponer ese dato .. debes confirmarlo .. Con quien? .. no sé .. no detallas si estás ejecutando ese código en tus servidores própios (tu "PC" como servidor) o usas algún servicio de hosting .. pero vamos, si trabajas con Mysql esos datos son inprescindibles para trabajar con Mysql y debes tenerlos claros.

Cita:
De todas maneras sql_query si que habria que definirla y se supone que la interpretaria php-nuke
No sé realmente que prendes hacer .. debes ser más claro en tus preguntas. Si estás pretendiendo crear un "módulo" para PHP-Nuke (aplicación pre-fabricada que es) .. especificalo . .por qué eso tiene su "ténica" y manuales que te podrían recomendar. Si quieres "aprovechar" algo de código de PHP-Nuke para tus propositos .. indicalo .. Si quieres simplemente conectarte a la BBDD que PHP-Nuke usa para obtener algún otro dato fuera del contexto de PHP-Nuke .. lo mismo .. dilo. Cuanto más claro dejes esos puntos mejor asesoría se te podrá dar .. Date cuenta que aquí encontraras gente que domine PHP pero no ha de conocer para nada PHP-Nuke ni que código usa ni como trabaja este .. por eso si lo especificas .. mejor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 11/07/2006, 12:38
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
En primer lugar me referia a si el nombre de la base de datos tiene esta forma, "yo@localhost".
Uso un servicio hosting, que por algun razon no puedo hacceder al panel de control, unicamente al ftp.
Aunque suene raro, lo unico que quiero es crear una pag en php "midominio.com/pag.php" que devuelva a cualquier usuario que ponga la trayectoria "midominio.com/pag.php" en su navegador los resultados de la consulta, como la tabla de nuke_authors.
Xj en phpmyadmin puedo acceder simplemente poniendo mi user y mi pass y desde alli hacer la consulta pero nose como hacer la pag php que haga la consulta automaticamente. Nose si me explico....
  #13 (permalink)  
Antiguo 11/07/2006, 12:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Xj en phpmyadmin puedo acceder simplemente poniendo mi user y mi pass y desde alli hacer la consulta pero nose como hacer la pag php que haga la consulta automaticamente. Nose si me explico....
(eso es así por qué ya se configuró esa aplicación con el dichoso: "host" a donde debe conectarse y se muestran o seleccionan las BBDD que puedes ver en ese servidor ..)

Pues consulta con tu proveedor cual es el nombre de tu BBDD (por qué lo necesitas) .. la que usa PHP-Nuke (si es que tuvieras más BBDD a tu disposición). Por phpMyadmin tal vez veas ese dato también (en la columna de la izquierda donde salen las tablas .. de tu BBDD).

El usuario que debes usar es el mismo que usas para phpMyadmin y su misma contraseña .. el "host" a "localhost" ... y la BBDD a seleccionar será la que te confirmen. En cualquier caso exige a tu proveedor esos datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 11/07/2006, 12:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Por cierto .. olvidate del código de PHP-Nuke .. usa las funciones directas de Mysql:

www.php.net/mysql

Mira ejemplos en:
www.php.net/mysql_fetch_array

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 11/07/2006, 13:18
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 17 años, 8 meses
Puntos: 0
Este codigo m funciona, jejej

Código:
<?php
// Conexion, seleccion de base de datos
$enlace = mysql_connect('host_mysql', 'usuario_mysql', 'contrasenya_mysql')
   or die('No pudo conectarse : ' . mysql_error());
echo 'Conexi&oacute;n exitosa';
mysql_select_db('mi_base_de_datos') or die('No pudo seleccionarse la BD.');

// Realizar una consulta SQL
$consulta  = 'SELECT * FROM mi_tabla';
$resultado = mysql_query($consulta) or die('La consulta fall&oacute;: ' . mysql_error());

// Impresion de resultados en HTML
echo "<table>\n";
while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($linea as $valor_col) {
       echo "\t\t<td>$valor_col</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

// Liberar conjunto de resultados
mysql_free_result($resultado);

// Cerrar la conexion
mysql_close($enlace);
?>
Del enlace que me pasaste. Y efectivamente el nombre de mi base de datos era el mismo que el user.

Bueno, gracias por tu ayuda, si tengo mas dudas preguntare.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:19.