Foros del Web » Programando para Internet » PHP »

como puedo solucionar este error que me aparecio con mysql_error?

Estas en el tema de como puedo solucionar este error que me aparecio con mysql_error? en el foro de PHP en Foros del Web. hola estuve analizando una pagina que estoy haciendo y con mysql_error me salen estos errores Código: function PonerPrecio(Moto) { You have an error in your ...
  #1 (permalink)  
Antiguo 22/01/2010, 08:30
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
como puedo solucionar este error que me aparecio con mysql_error?

hola

estuve analizando una pagina que estoy haciendo y con mysql_error me salen estos errores

Código:
function PonerPrecio(Moto) {
            You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND bActivo = 1 ORDER BY nId' at line 1<br />
<b>Warning</b>:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>/nfs/c03/h05/mnt/81512/domains/motouno.com/html/moto_menu.php</b> on line <b>18</b><br />
        }
ahora acabo de descubrir que mi pagina tiene un error.. y es esta parte

Cita:
if($rst2 = mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = " . $Tipo . " AND bActivo = 1 ORDER BY nId", $db_conexion)) {
hay alguna manera de hacer esto diferente.. porque como marca el error, AND bActivo = 1 ORDER BY nId no me funciona de esa manera, es extraño porque en mi compu si sirve, pero cuando lo subo al servidor deja de funcionar.

para darles una idea de que hace... supuestamente, se conecta con mysql, ( uso la version 5.1.26) y de la base de datos de gMotoModelo, extrae los nombres y los coloca en un menu que se va desplegando, dependiendo de la cantidad de nombres, y para saber que nombres poner y cuales no, se hace una comparativa AND con el registro bActivo para saber cual si mostrar

pero como les comentaba, en el servidor asi no funciona, que otra manera hay para hacer eso? o como puedo arreglar esa parte del codigo.

les voy a poner el codigo completo para facilitarles su ayuda, ese codigo lo hizo alguien mas, pero tengo que arreglarlo, el problema es que hay cosas que no comprendo como, para que poner ". $Tipo. en mysql_query, espero alguien me pueda decir que uso tiene eso porfavor y como podria hacer que el mismo codigo funcione pero haciendolo de otra forma... porque asi no lo reconoce el servidor..

salu2

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>
            Hello Moto - Moto
        </title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" type="text/css" href="CSS/Menu-Tab.css" />
    </head>
    <body bgcolor="#000000" topmargin="0">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
        function PonerPrecio(Moto) {
            <?
            
include("PHP/DB.php");
            if(
$rst3 mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = 1 ORDER BY nId"$db_conexion)) {
                while(
$rst3_reg mysql_fetch_array($rst3)) {
                    
//if($rst4 = mysql_query("SELECT xPlazo1 FROM gBancoPlazo WHERE nBanco = 1 AND nModelo = '" . $rst3_reg["nId"] . "'", $db_conexion)) {
                    //    if($rst4_reg = mysql_fetch_array($rst4)) {
                            
?>
                            if(Moto==<? echo($rst3_reg["nId"]); ?>) {
                                VP_Precio.innerText = "$<? echo($rst3_reg["nPrecio"]); ?>";
                                VP.src = "imagen/VP_<? echo($rst3_reg["xNombre"]); ?>.gif";
                                if( <? echo($rst3_reg["bAgotado"]); ?> == 1 ) {
                                    VP_Agotado.innerText = "Agotada";
                                } else {
                                    VP_Agotado.innerText = "";
                                }
                            };
                            <?
                    
//    }
                    //} else {
                    //    echo "Error en consulta 1<br>";
                    //}
                
}
            } else {
                echo 
"Error en consulta 2<br>";
            }
            
?>
        }
    -->
    </SCRIPT>
        <table width="181" height="500" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" align="right">
            <tr>
                <td width="181" bgcolor="000000" valign="top">
                    <?
                    
//include("PHP/DB.php");
                    
if($rst mysql_query("SELECT nId, xTipo FROM gMotoModeloTipo ORDER BY nId"$db_conexion)) {
                        
?>
                        <div id="menu-lat-enc"> 
                            <ul>
                                <?
                                
while($rst_reg mysql_fetch_array($rst)) {
                                    
?>
                                    <li> <a href="moto_menu.php?Tipo=<? echo($rst_reg["nId"]); ?>" target="Moto-Menu"> <? echo($rst_reg["xTipo"]); ?> </a> </li>
                                    <?

//////////// AKI es donde tengo el problema
                                    
if( $rst_reg["nId"] == $Tipo ) {
                                        if(
$rst2 mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = " $Tipo " AND bActivo = 1 ORDER BY nId"$db_conexion)) {

///////////////////
                                            
echo(mysql_error());
                                            
?>
                                            </ul></div>
                                            <div id="menu-lat"> 
                                                <ul>
                                                    <?
                                                    
while($rst2_reg mysql_fetch_array($rst2)) {
                                                        
?>
                                                        <li> <a href="moto_desglose.php?Id=<? echo($rst2_reg["nId"]); ?>&Objeto=1" target="Moto-Desglose" onMouseOver="PonerPrecio(<? echo($rst2_reg["nId"]); ?>);"> <? echo($rst2_reg["xNombre"]); ?> </a> </li>
                                                        <?
                                                    
}
                                                    
?>
                                                </ul>
                                            </div>
                                            <div id="menu-lat-enc"><ul>
                                            <?    
                                        
} else {
                                            echo 
"Error en consulta<br>";
                                        }
                                    }
                                }
                                
?>
                            </ul>
                        </div>
                        <?    
                    
} else {
                        echo 
"Error en consulta<br>";
                    }
                    
?>
                    <div align="center">
                        <img src="imagen/VP_Logo.gif" name="VP" width="120" height="90" border="0" id="VP">
                        <font color="#FFFFFF">
                            <br><span id=VP_Precio></span>
                            <br><span id=VP_Agotado></span>
                        </font>
                    </div>
                </td>
            </tr>
        </table>
    </body>
</html>
  #2 (permalink)  
Antiguo 22/01/2010, 12:20
 
Fecha de Ingreso: enero-2010
Mensajes: 36
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

Probá con

Código PHP:
Ver original
  1. if($rst2 = mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = '" . $Tipo . "' AND bActivo = 1 ORDER BY nId;", $db_conexion))

los puntos (.) son para concatenar cadenas.
Fijate que a la función mysql_query le estás pasando un string que es la consulta. El problema es que la consulta te está tirando un error sintaxis. Tratá de ejecutar la consulta directamente en mysql y fijate que pasa.
  #3 (permalink)  
Antiguo 22/01/2010, 12:31
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

hola

gracias por responder... lo intente pero no me funciono... si hago algo basico de esta forma
Cita:
if( $rst_reg["nId"] == 1 ) {
if($rst2 = mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = 1 AND bActivo = 1 ORDER BY nId", $db_conexion))
si me funciona, pero a la hora de poner $Tipo en los dos if's deja de funcionar...

una pregunta, como puedo analizar direcatmente mysql de un hosting?
  #4 (permalink)  
Antiguo 22/01/2010, 12:45
 
Fecha de Ingreso: enero-2010
Mensajes: 36
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

Probá con esto

Cita:
$Tipo = 1;
if($rst2 = mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = " . $Tipo . " AND bActivo = 1 ORDER BY nId", $db_conexion))
Fijate que le estoy fijando el valor de la variable $Tipo a 1.

Si anda es porque el problema está con el contenido de la variable $Tipo.
  #5 (permalink)  
Antiguo 22/01/2010, 13:16
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

hola

pues si funciono asi... pero no entiendo porque no puedo concatenar eso?, cual es el error que hay?

me podrian decir algunas posibilidades o alguna forma de solucionarlo porfavor?, porque no encuentro la forma de concatenar eso y que quede bien...

sera que esto no esta funcionando?

Código:
<li> <a href="moto_menu.php?Tipo=<? echo($rst_reg["nId"]);
pero porque en mi compu funciona y en el hosting ya no?

bueno, espero algo de ayuda porfavor

salu2
  #6 (permalink)  
Antiguo 22/01/2010, 13:23
 
Fecha de Ingreso: enero-2010
Mensajes: 36
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

Fijate bien el nombre del campo nId en la base (mayúsculas y minúsculas). Si no me equivoco en windows mysql no distingue entre mayúsculas y minúsculas y en el Linux si.
Seguramente el servidor es Linux y tu pc tiene windows.
  #7 (permalink)  
Antiguo 22/01/2010, 13:40
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

crees que si pongo toda la base de datos y el codigo en minusculas... se termine el problema?
  #8 (permalink)  
Antiguo 22/01/2010, 14:19
 
Fecha de Ingreso: enero-2010
Mensajes: 36
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: como puedo solucionar este error que me aparecio con mysql_error?

En realidad tu problema debe estar en que no estas tomando la variable Get
poné esto y te va a funcionar:
Cita:
$Tipo = $_GET["Tipo"];
if($rst2 = mysql_query("SELECT nId, xNombre FROM gMotoModelo WHERE nTipo = " . $Tipo . " AND bActivo = 1 ORDER BY nId", $db_conexion))
o sea agrega la linea que dice $Tipo = $_GET["Tipo"];

Si te funciona eso, investigá un poco que son las variables Get y Post y como se usan en PHP así entendés un poco el problema.
  #9 (permalink)  
Antiguo 22/01/2010, 14:43
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
como puedo solucionar este error ke me aparecio con mysql_error?[solucionado]

gracias.. me esta funcionando de maravilla... y gracias por los consejos sobre get y post, lo revisare para ver que mas aprendo

por cierto.. me podrias dar una pequeña explicacion de como hizo get que funcionara el codigo.... de todas formas buscare informacion, pero para saber como se soluciono el problema, me ayudaria muchisimo

muchas gracias

Última edición por proxy_lainux; 22/01/2010 a las 14:53

Etiquetas: Ninguno
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 17:14.