PHP - Error con código con función mysql_db_query()

   
Vista:

Error con código con función mysql_db_query()

Publicado por Jordi (1 intervención) el 26/10/2012 11:17:58
Buenas, tengo un problema y necesito ayuda, no tengo mucha idea de programación, de hecho nada, voy mirando y me van saliendo cosas pero esto no lo se solucionar...

Tengo una web en flash que usa una base de datos en php. tengo también un gestor de contenidos desde donde puedo añadir toda la información que me interesa en la web (agenda, noticias...).

Recientemente he cambiado de empresa de hosting y he tenido que hacer algunos cambios para que la web funcionara, básicamente para que pudiera acceder a la base de datos desdel nuevo servidor.

Ésto está resuelto y la web conecta bién con la base de datos.

El problema lo tengo en el gestor de contenidos que no reconoce el usuario y contraseña.

El servicio técnico de la empresa del hosting me dice que hay un problema con la función mysql_db_query() que está obsoleta en la página de verificación de usuarios del gestor de contenidos.

Os copio el código completo de ese archivo, si alguien me indicara qué debo actualizar? Os agradezco vuestro tiempo! Saludos!!!

____

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
ob_start();
 
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml>";
 
include 'includes/login.php';
 
$conectar = @mysql_connect($host,$user,$pass);
 
if(!$conectar){
echo $ERROR["conexion"];
}else{
 
$consulta = "SELECT role as permisos FROM users WHERE user='".$HTTP_GET_VARS['u']."' AND pass='".$HTTP_GET_VARS['p']."'";
$accion = mysql_fetch_object(mysql_db_query($bdd, $consulta, $conectar));
 
if($accion->permisos != ""){
echo "<user estado=\"OK\" user=\"".$HTTP_GET_VARS['u']."\" privileges=\"".$accion->permisos."\" />";
}else{
echo "<nouser estado=\"KO\" />";
}
 
}
 
echo "</xml>";
 
ob_end_flush();
ob_end_clean();
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Error con código con función mysql_db_query()

Publicado por xve (5518 intervenciones) el 26/10/2012 11:42:24
Hola Jordi, para ello, tienes que seleccionar la tabla por separado, y posteriormente ejecutar la query.... en la pagina de php (http://php.net/manual/en/function.mysql-db-query.php), te muestra como utilizar la alternativa... aquí te lo pego:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}
 
if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Could not select database';
    exit;
}
 
$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);
 
if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}
 
while ($row = mysql_fetch_object($result)) {
    echo $row['foo'];
}
 
mysql_free_result($result);
?>


Para tu caso, creo que te funcionaria algo así:
1
2
3
$consulta = "SELECT role as permisos FROM users WHERE user='".$HTTP_GET_VARS['u']."' AND pass='".$HTTP_GET_VARS['p']."'";
mysql_select_db($bdd, $conectar)
$accion = mysql_fetch_object($consulta);


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error con código con función mysql_db_query()

Publicado por jordi (3 intervenciones) el 02/11/2012 20:18:19
He provado con lo que me indicaste xve:
"Para tu caso, creo que te funcionaria algo así:
$consulta = "SELECT role as permisos FROM users WHERE user='".$HTTP_GET_VARS['u']."' AND pass='".$HTTP_GET_VARS['p']."'"; mysql_select_db($bdd, $conectar) $accion = mysql_fetch_object($consulta);"

Los usuarios estan en la base de datos, en una tabla llamada "users", no se si esto sirve para algo.

Gracias de todos modos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Error con código con función mysql_db_query()

Publicado por xve (5518 intervenciones) el 03/11/2012 07:39:01
Hola Jordi, no te entiendo muy bien... el select lo hace de la tabla users, no?
Te da algún error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error con código con función mysql_db_query()

Publicado por jordi (3 intervenciones) el 03/11/2012 12:38:15
en el log de error me dice lo siguiente:

[03-Nov-2012 12:37:58] PHP Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/home/ateneu-lalianca.org/web/gestor/execute/verifyUser.php on line 15

____________

el actual código en verifyuser.php es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
	ob_start();
 
	echo "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml>";
 
	include 'includes/login.php';
 
	$conectar = @mysql_connect($host,$user,$pass);
 
	if(!$conectar){
		echo $ERROR["conexion"];
	}else{
		$consulta = "SELECT role AS permisos, FROM users WHERE user='".$HTTP_GET_VARS['u']."' AND pass='".$HTTP_GET_VARS['p']."'";
                mysql_select_db($bdd, $conectar);
                $accion = mysql_fetch_object($consulta);
 
		if($accion->permisos != ""){
			echo "<user estado=\"OK\" user=\"".$HTTP_GET_VARS['u']."\" privileges=\"".$accion->permisos."\" />";
		}else{
			echo "<nouser estado=\"KO\" />";
		}
 
	}
 
	echo "</xml>";
 
	ob_end_flush();
	ob_end_clean();
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Error con código con función mysql_db_query()

Publicado por xve (5518 intervenciones) el 03/11/2012 20:29:24
Hola Jorde, antes de poder utilizar mysql_fetch_object() tienes que ejecutar la consulta.. mysql_fetch_object coge un registro de la consulta ya realizada como un objeto.

prueba algo así:
1
2
3
4
$consulta = "SELECT role AS permisos, FROM users WHERE user='".$HTTP_GET_VARS['u']."' AND pass='".$HTTP_GET_VARS['p']."'";
mysql_select_db($bdd, $conectar);
$result=mysql_query($consulta)
$accion = mysql_fetch_object($result);


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error con código con función mysql_db_query()

Publicado por jordi (3 intervenciones) el 04/11/2012 15:14:16
funcionaaa! :D genial!
aunque en lugar de poner el role AS permisos sólo he puesto role y donde había permisos lo he cambiado por role.
ahora ya entra pero sigue habiendo sitios con la mysql_db_query deprecate, lo iré cambiando a ver si lo consigo, sino ya volveré a escribir.
muchísimas gracias!

jordi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar