Foros del Web » Programando para Internet » PHP »

mysql_fetch_assoc()

Estas en el tema de mysql_fetch_assoc() en el foro de PHP en Foros del Web. hola amigos quiero editar unos registros en web pero me sale esto: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/webdevel/public_html/00/editar.php ...
  #1 (permalink)  
Antiguo 27/08/2013, 16:23
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
mysql_fetch_assoc()

hola amigos
quiero editar unos registros en web pero me sale esto:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/webdevel/public_html/00/editar.php on line 23

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webdevel/public_html/00/editar.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/webdevel/public_html/00/editar.php:23) in /home/webdevel/public_html/00/editar.php on line 26

y en esas lineas tengo esto:

Código PHP:
Ver original
  1. $sql = "SELECT * FROM empresa WHERE id = ".sqlValue($idempresa, "int");
  2. $queEmp = mysql_query($sql, $conexion);
  3. $rsEmp = mysql_fetch_assoc($queEmp);
  4. $total = mysql_num_rows($queEmp);
  5. if ($total == 0) {
  6.     header("location: listado.php");
  7.     exit;
  8. }
  9. ?>

he estado buscando en internet
y me dice que mysql_fetch_assoc() ya es obsoleto

agradeceria su orientacion para actualizar y poder hacer validera mi edicion


gracias
  #2 (permalink)  
Antiguo 27/08/2013, 16:32
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 9 meses
Puntos: 55
Respuesta: mysql_fetch_assoc()

hola
que hace esta funcion?
sqlValue($idempresa, "int")

debes revisar los errores de tu consulta sql, lo haces con
http://php.net/manual/es/function.mysql-error.php

las funciones mysql, como has leido estan obsoletas; debes migrar a MYSQLI o PDO
http://www.php.net/manual/es/book.mysqli.php

Saludos
  #3 (permalink)  
Antiguo 27/08/2013, 16:37
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
Respuesta: mysql_fetch_assoc()

hola Erick_MD9
estoy leyendo pero no entiendo mucho como para reemplazar...

el ejemplo lo saque de este tuto
http://blog.unijimpe.net/php-con-mys...ros-con-mysql/


gracias
  #4 (permalink)  
Antiguo 27/08/2013, 20:03
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: mysql_fetch_assoc()

No cuesta buscar informacion sobre esos temas "populares"

Código PHP:
Ver original
  1. <?php
  2. //mysqli sirve para hacer la conexion y tiene mas ventajas que mysql_ y es para POO
  3. $mysqli = new mysqli("localhost","root","","kosys"); //datos de la conexion
  4.     //Si la conexion no funciona dara error
  5.     if($mysqli->connect_errno){
  6.     echo "Fallo la conexion a la Base de datos !!! (Error: " .$mysqli->connect_errno. ")" ;
  7.             }
  8.         else{
  9.     //query
  10.     $sql = $mysqli->query("SELECT productos.id, productos.nombre, productos.descripcion, rubros.nombre AS rubro, proveedores.nombre AS proveedor, productos.costo, productos.pre_may as mayoreo, productos.pre_det as detalle, productos.stock FROM productos INNER JOIN rubros ON productos.rubro = rubros.id INNER JOIN proveedores ON productos.proveedor = proveedores.id ORDER by id");
  11.        
  12.     echo "<table width='800px' aling='center'>
  13.     <tr bgcolor='#CCCCCC'>
  14.     <th aling='center' valign='middle'>ID</th>
  15.     <th aling='center' valign='middle'>Nombre</th>
  16.     <th aling='center' valign='middle'>Descripcion</th>
  17.     <th aling='center' valign='middle'>Rubro</th>
  18.     <th aling='center' valign='middle'>Proveedor</th>
  19.     <th aling='center' valign='middle'>Costo</th>
  20.     <th aling='center' valign='middle'>Mayoreo</th>
  21.     <th aling='center' valign='middle'>Detalle</th>
  22.     <th aling='center' valign='middle'>Stock</th>
  23.                    
  24.             </tr>";
  25.                        
  26.         while($row = $sql->fetch_array(MYSQLI_ASSOC)){
  27.        
  28.         echo "<tr>
  29.         <td><a href='modificar.php?id=".$row['id']."'>".$row['id']."</a></td>
  30.                 <td>".$row['nombre']."</td>
  31.                 <td>".$row['descripcion']."</td>
  32.                 <td>".$row['rubro']."</td>
  33.                 <td>".$row['proveedor']."</td>
  34.                 <td>".$row['costo']."</td>
  35.                 <td>".$row['mayoreo']."</td>
  36.                 <td>".$row['detalle']."</td>
  37.                 <td>".$row['stock']."</td>
  38.                 </tr>";
  39.             }
  40.             echo "</table>";
  41.                    
  42.             }


Solo es de analizar !!!
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #5 (permalink)  
Antiguo 27/08/2013, 20:45
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: mysql_fetch_assoc()

aunque he visto en casi todos lados mysqli orientado a objetos, tambien se puede usar de forma estructurado asi que como dijeron actualizate a mysqli, primero empieza con programacion estructurada y despues con POO, yo todavia estoy con la estructurada :D saludos
  #6 (permalink)  
Antiguo 27/08/2013, 21:34
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: mysql_fetch_assoc()

El sqlVAlue esta demás ahi.. es probablemente una función que no estás declarando en ningun lado, o si lo hay, no lo estamos viendo.. reemplaza por:

Código PHP:
Ver original
  1. $sql = "SELECT * FROM empresa WHERE id = ".$idempresa;
  2. $queEmp = mysql_query($sql, $conexion);//verifica que exista la variable $conexion en tu archivo de conexio
  3. $rsEmp = mysql_fetch_assoc($queEmp);
  4. $total = mysql_num_rows($queEmp);
  5. if ($total == 0) {
  6. //esto te seguirá dando problemas porque quizá exista dramas en tu cabecera
  7.     header("location: listado.php");
  8.     exit;
  9.  
  10. }
  11. ?>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 28/08/2013, 13:27
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
Respuesta: mysql_fetch_assoc()

muchas gracias a todos por sus aportes
pero aun no he logrado hacerlo funcionar

aqui les dejo el enlace de descarga con todos los archivos del tuto
http://blog.unijimpe.net/php-con-mys...ros-con-mysql/

desde ya agradezco su buena voluntad
un abrazo
  #8 (permalink)  
Antiguo 28/08/2013, 14:33
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: mysql_fetch_assoc()

Por lo que puedo ver, los argumentos para mysql_fetch_assoc y mysql_num_rows son invalido :genius:
Si son invalidos es porque la consulta debe tener algun error, para ver que tipo de errir tiene puedes hacer lo sgte:
Código PHP:
Ver original
  1. $sql= "SELECT * FROM empresa WHERE id=".sqlValue($idempresa, "int");
  2. echo $sql;
  3. $queEmp=mysql_query($sql,$link) or die("error en la conaulta ".mysql_error());
asi por lo menos sabremos cual podria ser el error, saludos.
  #9 (permalink)  
Antiguo 28/08/2013, 14:41
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
Respuesta: mysql_fetch_assoc()

hola SkAr88
me salio esto cuando quise editar

SELECT * FROM empresa WHERE id=NULLerror en la consulta Unknown column 'id' in 'where clause'
  #10 (permalink)  
Antiguo 28/08/2013, 15:13
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: mysql_fetch_assoc()

Ahora, de donde viene la variable $idempresa y la funcion sqlVal() y que es lo que hace esta ultima
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #11 (permalink)  
Antiguo 28/08/2013, 15:14
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 9 meses
Puntos: 55
Respuesta: mysql_fetch_assoc()

Cita:
Iniciado por rascabuchitos Ver Mensaje
Unknown column 'id' in 'where clause'
No existe la columna id en tu tabla
  #12 (permalink)  
Antiguo 28/08/2013, 16:02
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
Respuesta: mysql_fetch_assoc()

si que esta dificil este problemita :)
  #13 (permalink)  
Antiguo 28/08/2013, 16:28
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: mysql_fetch_assoc()

Segun mysql_error() no existe el campo id, vamos a comprobarlo con es pequeño acript

Código PHP:
Ver original
  1. $q="SELECT * FROM empresa";
  2. $r=mysql_query($q,$conexion);
  3. $numfields= mysql_num_fields($r);
  4. for($x=0; $x < $numfields; $x++){
  5. $fieldn = mysql_field_name($r, $x);
  6. echo $fieldn."<br>";
  7. }
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Última edición por xSkArx; 28/08/2013 a las 16:38
  #14 (permalink)  
Antiguo 28/08/2013, 16:48
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 9 meses
Puntos: 55
Respuesta: mysql_fetch_assoc()

Cita:
Iniciado por SkAr88 Ver Mensaje
Segun mysql_error() no existe el campo id, vamos a comprobarlo con es pequeño acript

Código PHP:
Ver original
  1. $q="SELECT * FROM empresa";
  2. $r=mysql_query($q,$conexion);
  3. $numfields= mysql_num_fields($r);
  4. for($x=0; $x < $numfields; $x++){
  5. $fieldn = mysql_field_name($r, $x);
  6. echo $fieldn."<br>";
  7. }
Hola, lo podemos resumir con DESCRIBE

$q="DESCRIBE empresa";

Saludos

Etiquetas: html, mysql, registro, select, sql
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:03.