Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/04/2011, 20:13
Avatar de bioxido
bioxido
 
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 11 meses
Puntos: 21
Respuesta: Clausula where

Veo que estas aprendiendo asique te voy a dar un par de recomendaciones:

-Veo que pones la función para conectar a la DB dentro de otra función... esto es medio 'al pedo'... te conviene (para ahorrar líneas nomas, pero es prácticamente lo mismo...)

En connect.php:
Código PHP:
$link mysql_connect('localhost','user','pass') or die();
mysql_select_db(db_name,$link) or die();
$db_error mysql_error($conn);

if(!empty(
$db_error)) {

            echo 
"Ha habido un error al conectar a la base de datos.<br> $db_error";

            
//echo "<meta http-equiv='Refresh' content='2;url=http://worldanime.tv/portal/index.php'>"; 

    

-Eso de hacer $_GET["id"] es inservible, no sirve de nada si después estas haciendo $id = $_GET["id"]

Otra cosa que veo es que estas usando mal las comillas...
No es lo mismo " que ' Usas " cuando estas encerrando una función o algo que php necesite "parcear" es decir, leer, interpretar, pero como en el caso del $_GET, que estas escribiendo simplemente "id" deberías usar 'id' Esto es mas que nada por una cuestión de optimización del código... Te recomiendo leer el siguiente post que explica perfectamente como se deben usar las comillas:
http://www.forosdelweb.com/f18/como-...s-bien-588701/

En la consulta:
En la parte where ID = $id debería ir así where ID = '$id'

Te recomiendo usar mysql_fetch_assoc() envezde mysql_fetch_array().

Para lo que vos estas haciendo, usar fetch_array no es estrictamente necesario. Podrías usar fetch_assoc que te va a funcionar igual y es más barato hablando de recursos consumidos y tiempo de ejecución de código...En otras palabras, más eficiente. Si queres saber a que se debe eso, lee la info de dichas funciones en el manual de PHP ;)

El código, optimizado y correcto debería quedar asi:
Código PHP:
    include('connect.php'); 
    
$id $_GET['id']; //Para que entiendas el uso de la doble comilla:
  /*  $idd = '34654';
    $id = $_GET["$idd"]; Aca si se justificaría el uso de doble comilla (solo un ejemplo, claro...)-
  */
    
$result=mysql_query(" SELECT * FROM `cubos` WHERE ID = '$id' ",$link); 
    
    while(
$row mysql_fetch_assoc($result)) { 
    
    
/*$id2 = $row["ID"]; 
    $cemail = $row["ce-mail"]; 
    $cliente = $row["cliente"]; 
    */
    
    
echo $row['ID'].'</br>';
    echo 
$row['ce-mail'].'</br>';
    echo 
$row['cliente'];
    } 
        
mysql_free_result($result); //Esto la verdad que no lo veo muy necesario con una consulta tan pequeña ;)
        
mysql_close($link);