Comunidad de diseño web y desarrollo en internet online

Pregunta Sql

Citar            
MensajeEscrito el 23 Oct 2007 09:38 pm
Con que comando puedo saber el numero de filas que cambio el UPDATE.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 23 Oct 2007 10:06 pm
A ver .. si es esto lo que buscas..!


Código :

$consulta = mysql_query("update tabla set campo1=valor1");   //Consulta para Actualizar Datos
$filas = mysql_affected_rows(); //Con este parametro obtengo el numero de filas afectadas


Espero sea eso.:!
:cool: [/quote]

Por jripper

228 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Oct 2007 10:24 pm
Correcto, eso era.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Oct 2007 12:07 pm
Ahora me resulto un problemita, en el caso de usar el comando para eliminar tablas uso el mismo comando pero no me resulta.-
Tengo el siguiente codigo:

Código :

$consulta = mysql_query("delete * from tabla where Col1='".$dato."'",$link);   
$filas = mysql_affected_rows();


Me da "0" como resultado. Y no se porque pero a veces me da "1":S

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Oct 2007 01:53 pm
Descripción
int mysql_affected_rows ( [int identificador_de_enlace] )

mysql_affected_rows() devuelve el número de filas afectadas en la ultima sentencia INSERT, UPDATE o DELETE sobre el servidor asociado con el identificador_de_enlace especificado. Si el identificador de enlace no ha sido especificado, se asume por defecto el último enlace.


Esto esta sacado de la documentacion de PHP.
Cuando tengas dudas no dudes en consultarla.

En tu ultimo codigo lo que haces no es borrar una tabla si no borrar registros de la tabla. El resultado que te da es el numero de registros que acabas de borrar.
Para borrar una tabla usa el comando sql "DROP", creo que esto funciona:

Código :

$sql = "DROP TABLE `tu_tabla`";
mysql_query($sql,$link);

Por ChickenExecutor

351 de clabLevel

2 tutoriales
1 articulo

 

El pais de la Resistance

mozilla
Citar            
MensajeEscrito el 29 Oct 2007 03:16 pm
sorry. Me equivoque, queria eliminas filas no tablas:S

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Oct 2007 03:28 pm
Efectivamente en:
http://fr2.php.net/manual/es/function.mysql-affected-rows.php
Entontre:

Código :

<?php
/* connect to database */
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());

/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n", mysql_affected_rows());
?> 


Osea esta bien lo que estoy haciendo, no se por que a veces de devuelve 0 ò 1 siendo que todas las veces elimina filas.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Oct 2007 05:08 pm

york3rs escribió:

Ahora me resulto un problemita, en el caso de usar el comando para eliminar tablas uso el mismo comando pero no me resulta.-
Tengo el siguiente codigo:

Código :

$consulta = mysql_query("delete * from tabla where Col1='".$dato."'",$link);   
$filas = mysql_affected_rows();


Me da "0" como resultado. Y no se porque pero a veces me da "1":S


Te da como resultado 0 por el asterico..! la sentencia mysql esta mala..!

Por jripper

228 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Oct 2007 06:33 pm
Disculpen ese codigo lo escribi directamente en el foro, por eso el error.-

Aca va el codigo real:

Código :

include "sql.php";
$link = Conectarse();
  $query="delete from tabla2 where col1 =\"".$_POST["dato1"]."\" and col2='".$_POST["dato2"]."' and col3='".$_POST["dato3"]."'";
  @mysql_query($query,$link);
  $num_rows = @mysql_affected_rows();
  $err_sql = @mysql_errno($link);
mysql_close();



No se si es que tengo algun error.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.