Foros del Web » Programando para Internet » PHP »

ERROR de funciones !!!

Estas en el tema de ERROR de funciones !!! en el foro de PHP en Foros del Web. Alguien podria decirme porque sale el siguiente error ??? WARNING : x_funcion() supplied argument is not a valid MySql. Resource in "programa fuente" Este error ...
  #1 (permalink)  
Antiguo 05/03/2003, 09:55
Avatar de kamezen  
Fecha de Ingreso: junio-2001
Ubicación: México, D.F.
Mensajes: 128
Antigüedad: 22 años, 10 meses
Puntos: 0
Pregunta ERROR de funciones !!!

Alguien podria decirme porque sale el siguiente error ???


WARNING : x_funcion() supplied argument is not a valid MySql. Resource in "programa fuente"

Este error lo presenta en cualquier funcion de PHP que use la Base de datos !!! Los mismos programas los tengo en otro servidor (de desarrollo) y funcionan correctamente: quiza me falta alguna libreria en el nuevo servidor de produccion !!!

Alguna sugerencia ????

Saludos !!!

__________________
No esperes a que tu Nación haga algo por ti !!! Mejor haz primero algo por tu Nación !!!
México-WEB
  #2 (permalink)  
Antiguo 05/03/2003, 10:09
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 23 años
Puntos: 2
quizas tengan el otro servidor configurado para que no se vean los warning.

postea el codigo para hacernos una idea

saludos
  #3 (permalink)  
Antiguo 05/03/2003, 10:15
Avatar de kamezen  
Fecha de Ingreso: junio-2001
Ubicación: México, D.F.
Mensajes: 128
Antigüedad: 22 años, 10 meses
Puntos: 0
Este es el codigo...en el servidor de desarrollo funciona bien !!!! Los errores los marca en las funciones mysql_db_query y mysql_num_fields


Código PHP:
$Link mysql_connect($Host$User$Password);

$start 1;
$PaginationQuery "LIMIT " $start ", " $Pagesize;
$Query "No hay sentencia";

switch (
$vtipocon) {
     case 
1:
         if (
strlen($vnomautor) > strlen($vpatautor) == 0) {
             
$Query "SELECT cve_titulo as CLAVE, clasificacion, titulo, apellidos, nombres FROM $TableName where
         nombres like '%"
.$vnomautor."%'" $PaginationQuery;
     }
     if (
strlen($vnomautor) == strlen($vpatautor) > 0) {
             
$Query "SELECT cve_titulo as CLAVE, clasificacion, titulo, apellidos, nombres FROM $TableName where
         apellidos like '%"
.$vpatautor."%'" $PaginationQuery;
     }
     if (
strlen($vnomautor) > strlen($vpatautor) > 0) {
             
$Query "SELECT cve_titulo as CLAVE, clasificacion, titulo, apellidos, nombres FROM $TableName where
         (nombres like '%"
.$vnomautor."%' and apellidos like '%".$vpatautor."%')" $PaginationQuery;
     }

         break;
     case 
2:
         
$Query "SELECT cve_titulo as CLAVE, clasificacion, titulo, apellidos, nombres FROM $TableName where
               titulo like '%"
.$vtitulo."%'" $PaginationQuery;
     break;
     case 
3:
         
$Query "SELECT cve_titulo as CLAVE, clasificacion, titulo, apellidos, nombres FROM $TableName where
              temas like '%"
.$vtema."%'" $PaginationQuery;
     break;
 }

$TLinea 1;
$TCampo 1;
$Total 0;


$Result mysql_db_query ($DBName$Query$Link);

//pagination($start,$Link,$DBName,$TableName,$Pagesize);

// Create a table with headers.
print ("<center><TABLE BORDER=0 width=850 cellspacing=0 cellpading=5>\n");
print (
"<TR bgcolor=#339999>\n");
for (
$i 0$i mysql_num_fields($Result); $i++) {
    print 
"<TD><center><B>".mysql_field_name($Result$i)."</B></center></TD>\n";
}
print (
"</TR>\n");

$valor "PHP !!!";
// Fetch the results from the database.

while ($Row mysql_fetch_array ($Result)) {

      switch (
$TLinea) {
         case 
1:
              print (
"<TR>\n");
              for (
$i 0$i mysql_num_fields($Result); $i++) {
                   print 
"<TD>$Row[$i]</TD>\n";
              }
              print (
"</TR>\n");
              
$TLinea 2;
              
$Total $Total 1;
          break;
         case 
2:
              print (
"<TR bgcolor=#C4DFC9>\n");
              for (
$i 0$i mysql_num_fields($Result); $i++) {
                  print 
"<TD>$Row[$i]</TD>\n";
              }
              print (
"</TR>\n");
              
$TLinea 1;
          
$Total $Total 1;
          break;
      }

}
print (
"</TABLE></center>\n");

print 
"<table width=85% align=center>";
print 
"    <tr><td>";
print 
"        <hr align=left width=100% color=#9B4264>";
print 
"        No. de Registros -->".$Total;
print 
"    </td></tr>";
print 
"</table>";

mysql_close ($Link);

}}}
?> 
Saludos !!!

__________________
No esperes a que tu Nación haga algo por ti !!! Mejor haz primero algo por tu Nación !!!
México-WEB
  #4 (permalink)  
Antiguo 05/03/2003, 10:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa en tus llamadas a funciones de Mysql una llamada a mysql_error() :

$Result = mysql_db_query ($DBName, $Query, $Link) or die(mysql_error());

Con eso obtendras un error de SQL si lo hay admeas del propio q arroja PHP ya ...

(usalo en todas las funciones q uses mysql_xxx.... )

Un saludo,
  #5 (permalink)  
Antiguo 05/03/2003, 11:07
Avatar de kamezen  
Fecha de Ingreso: junio-2001
Ubicación: México, D.F.
Mensajes: 128
Antigüedad: 22 años, 10 meses
Puntos: 0
Gracias cluster !!!

Ya lo inclui en todas las llamadas y funciona correctamente en el servidor de desarrollo...pero en produccion continua mostrando el mismo error !!

Saludos !!

__________________
No esperes a que tu Nación haga algo por ti !!! Mejor haz primero algo por tu Nación !!!
México-WEB

Última edición por kamezen; 05/03/2003 a las 11:19
  #6 (permalink)  
Antiguo 05/03/2003, 11:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Otro detalle .. mysql_db_query() en algunas versiones de PHP dice algo tipo:

Cita:
Note:
This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead.
mas info:
http://www.php.net/manual/en/functio...l-db-query.php

En resumen .. Esa función está en desuso .. pese que pueda funcionar todavía .. El dia menos pensado la eliminaran. Normalmente PHP suele avisar con "tiempo" de si va a quitar alguna función o sustituirla por otra a lo largo de sus versiones ..

Usa preferentemente:
Código PHP:
msyql_select_db($DBName) or die (mysql_error));
$Result=mysql_query($Query$Link) or die (mysql_error)); 
En lugar de tu msyql_db_query($DBName,$Query, $Link)

Un saludo,
  #7 (permalink)  
Antiguo 05/03/2003, 13:11
Avatar de kamezen  
Fecha de Ingreso: junio-2001
Ubicación: México, D.F.
Mensajes: 128
Antigüedad: 22 años, 10 meses
Puntos: 0
Nuevamente molestandote cluster !!

Cambie las funciones como me dijiste y me sale el siguiente error en mi servidor de desarrollo :

Fatal error: Call to undefined function: mysql_select_db() in /var/www/html/biblio/paginacion.php on line 167

En el servidor de produccion no me muestra el error !! pero las funciones de mysql_fetch_array siguen mostrando el warning que describi en el mensaje inicial !!!

Sera alguna libreria la que no funciona ???


Saludos !!

__________________
No esperes a que tu Nación haga algo por ti !!! Mejor haz primero algo por tu Nación !!!
México-WEB
  #8 (permalink)  
Antiguo 05/03/2003, 13:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. en principio .. fué un error de sintax mio:

mysql_select_db($DBName,$Link) or die (mysql_error));
$Result=mysql_query($Query, $Link) or die (mysql_error));

Pero igual por el error q pusistes parece q te diste cuenta y lo cambiastes bien ... Tambien puedes usar el $Link en la selección de la BD...

... Ya empizo a dudar que no se q servidor de los que usa no tiene soporte de las funciones mysql_xxx()

Lo que es mysql_select_db() dice el manual q está disponible desde PHP 3 ..
http://www.php.net/manual/en/functio...-select-db.php

Revisa la configuración de ambos servidores con un phpinfo() y mira si tinene soporte Mysql ...

Un saludo,

Última edición por Cluster; 05/03/2003 a las 13:27
  #9 (permalink)  
Antiguo 05/03/2003, 13:55
Avatar de kamezen  
Fecha de Ingreso: junio-2001
Ubicación: México, D.F.
Mensajes: 128
Antigüedad: 22 años, 10 meses
Puntos: 0
ya corri el phpinfo() en ambos servidores y los dos tienen el soporte de mysql !!!

Como podria checar si el servidor de produccion cuenta con la configuracion correcta......porque el mysql_select_db() si funciona !!!

Esto es lo que me muestra el phpinfo():



MySQL Support enabled

Active Persistent Links 0
Active Links 0
Client API version 3.23.54
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib/mysql -lmysqlclient

Directive Local Value Master Value

mysql.allow_persistent On
mysql.default_host no value
mysql.default_password no value
mysql.default_port no value
mysql.default_socket no value
mysql.default_user no value
mysql.max_links Unlimited
mysql.max_persistent Unlimited



Saludos !!
__________________
No esperes a que tu Nación haga algo por ti !!! Mejor haz primero algo por tu Nación !!!
México-WEB
  #10 (permalink)  
Antiguo 05/03/2003, 14:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y en el mismo phpinfo() .. en las directivas de configuración (por el principio del phpinfo() ).. hay alguna tipo:

--with-mysql

(partimos que ambos servidores son bajo Linux ? )

Un saludo,
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:32.