Foros del Web » Programando para Internet » PHP »

Problema mysql_nums_rows(), mysql_fetch_array, mysql_free_result

Estas en el tema de Problema mysql_nums_rows(), mysql_fetch_array, mysql_free_result en el foro de PHP en Foros del Web. Ya te digo... al final las kosas más tontas son las q más quebraderos de cabeza dan. Hay q coger la costumbre de abrir y ...

  #31 (permalink)  
Antiguo 14/09/2006, 04:06
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
Ya te digo... al final las kosas más tontas son las q más quebraderos de cabeza dan. Hay q coger la costumbre de abrir y cerrar inmediatamente y luego escribir en medio para evitar fallos de esta clase.

Aunque al final siempre termina pasando x alto alguna q otra vez.

Nos vemos.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #32 (permalink)  
Antiguo 14/09/2006, 04:41
 
Fecha de Ingreso: enero-2006
Ubicación: Asturias
Mensajes: 61
Antigüedad: 18 años, 10 meses
Puntos: 0
Vaya, a partir de ahora tendre mas cuidado con las llaves pq si no, pero me queda mucho por aprender... Gracias!

Ahora es el de edtiar que no se pq no hace el UPDATE... Mostrar muesrra lo que se quiere editar, pero dp no edita nada en la base de datos.

Código PHP:
<html>
<head>
</head>
<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#666699" bgcolor="#009999">
<?php
    
//recibimos la variable id enviada en el enlace por GET
    
$id=$_GET[id];
    
//conectamos a la base
    
$connect=mysql_connect("imysql00","i3796761","gd47xg1oyawgs270");
    
//Seleccionamos la base
    
mysql_select_db("i3796761",$connect);  
    
//hacemos las consultas
    
$result=mysql_query("select * from noticias where id_noticia=$id"
    
,$connect);
    
//Una vez seleccionados los registros los mostramos para su edición
    
while($row=mysql_fetch_array($result))
    {
    echo 
'<form action="edit_noticia.php" method="post">
    <input type="hidden" name="id" value="'
.$row['id_noticia'].'"><br>  
    Título noticia:<br>  
    <input type="text" name="titulo" value="'
.$row['titulo'].'"><br>  
    Autor:<br>  
    <input type="text" name="autor" value="'
.$row['autor'].'"><br>  
    Categoría:<br>  
    <input type="text" name="categoria" value="'
.$row['categoria'].'"><br>  
    Escriba el articulo<br>  
    <textarea name="articulo" cols="50" rows="10">'
.$row['articulo'].'</textarea>  
    <br>  
    <input type="submit" value="Editar"><br>  
    </form>'
;
    }
    
mysql_free_result($result);
    
mysql_close($connect);
    
?>
</body>
</html>
Y este es el que lo recibe y procesa apra editar en la BD:
Código PHP:
<?
//recibimos las variables enviadas por el formulario
$id=$_POST[id];
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];
    
//conectamos a la base
    
$connect=mysql_connect("imysql00","i3796761","gd47xg1oyawgs270");
    
//Seleccionamos la base
    
mysql_select_db("i3796761",$connect); 
    
//modificamos los datos de la base según variables recibidas
    
mysql_query("update noticias Set articulo='$articulo',categoria='$categoria',titulo='$titulo' where id_noticia=$id"$link);
    
header("location: noticias.php");
      
?>
Segun mire, me parece que estan todo cerrado, tanto parentesis y comillas y apostrofes... Aqui debe de fallar en el update supongo perop no se en que...
  #33 (permalink)  
Antiguo 14/09/2006, 04:50
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
Pues como en ocasiones anteriores mete la consulta en una variable $sql x ejemplo y agrégale el or die ()... igual q con el INSERT.

Código PHP:
$sql="update noticias Set articulo='$articulo',categoria='$categoria',titulo='$titulo' where id_noticia=$id";
mysql_query($sql$link) or die ("La consulta $sql falló. El error fue: ".mysql_error()); 
Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #34 (permalink)  
Antiguo 14/09/2006, 05:20
 
Fecha de Ingreso: enero-2006
Ubicación: Asturias
Mensajes: 61
Antigüedad: 18 años, 10 meses
Puntos: 0
Se las puse y me daba error y probe en el phpmyadmin y me paso esto:

update noticias Set articulo='$articulo',categoria='$categoria',titulo ='$titulo' where id_noticia=$id_noticia

Si meto esta consulota me dice que le faltan las ' ', si se la spngo asi:

update noticias Set articulo='$articulo',categoria='$categoria',titulo ='$titulo' where id_noticia='$id_noticia'

La consulta sale correcta. Pero desde la oágina al editar me da ele rror:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /www/sites/1/iespana.es/e/x/exmacris/site/edit_noticia.php on line 14
La consulta update noticias Set articulo='ionoiniohhhh',categoria='oiionoi',titulo ='inionoi' where id_noticia='' falló. El error fue:

Código PHP:
<?
//recibimos las variables enviadas por el formulario
$id=$_POST[id];
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];
    
//conectamos a la base
    
$connect=mysql_connect("imysql00","i3796761","gd47xg1oyawgs270");
    
//Seleccionamos la base
    
mysql_select_db("i3796761",$connect); 
    
//modificamos los datos de la base según variables recibidas
    
$sql="update noticias Set articulo='$articulo',categoria='$categoria',titulo='$titulo' where id_noticia='$id_noticia'";
    
mysql_query($sql$link) or die ("La consulta $sql falló. El error fue: ".mysql_error());  //14
    
header("location: noticias.php");
      
?>
??? Esto es raro... La consulta esta bien por lo que comprobe...
  #35 (permalink)  
Antiguo 14/09/2006, 05:23
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
Si te das cuenta mira la consulta:

La consulta update noticias Set articulo='ionoiniohhhh',categoria='oiionoi',titulo ='inionoi' where id_noticia=''

La variable $id_noticia no está pasándola bien. Lo curioso es q a un campo numérico haya q ponerle comillas... No entiendo bien cómo es posible eso.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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 23:54.