Ver Mensaje Individual
  #14 (permalink)  
Antiguo 26/10/2012, 16:53
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: update vs mysql_num_rows

Te repito, USA EL MANUAL, estas cometiendo errores y es porque piensas que mysqli es igual a mysql, lo cual esta completamente mal, te dejaré el código correcto pero como excepción ya que estoy en contra de entregar código para hacer copy/paste y que ustedes ni si quiera analicen lo que están haciendo...

Código PHP:
Ver original
  1. <?php
  2.  
  3. $conexion = mysqli_connect($host,$user,$pass,$db);
  4.  
  5. if (mysql_connect_error()) {
  6.     die('Error en la conexión: '.mysqli_connect_error());
  7. }
  8.  
  9. //preparamos la sentencia SQL, ojo que no eh indicado los valores nuevos ni el valor para el where, esto lo dejamos para despues
  10. $sql = 'UPDATE agenda SET apellidos = ?, preferencias = ?, WHERE nombre = ?';
  11.  
  12. //ahora le decimos a mysqli que prepare la sentencia SQL anterior para pasarle los valores necesarios
  13. $query = mysqli_prepare($conexion,$sql);
  14.  
  15. /**
  16. * ahora le indicamos a mysqli los valores, primero le pasamos la sentencia preparada, luego el tipo de dato que se va a entregar
  17. * para saber el tipo de dato es:
  18. * s: el tipo es string
  19. * i: el tipo es entero
  20. * d: el tipo es double
  21. * b: el tipo es blob y se envia en paquetes
  22. * como las tres variables son string indicamos 3 s (sss), cada letra es por cada variable, si tubieramos 3 variables string y 2 enteros o int
  23. * seria sssii...
  24. */
  25. mysqli_stmt_bind_param($query, 'sss', $_POST['apellidos'], $_POST['preferencias'], $_POST['nombre']);
  26.  
  27. //ejecutamos la sentencia SQL
  28.  
  29. //verificamos cuantos registros fueron afectados
  30. if (mysqli_stmt_affected_rows($query) != 0) {
  31.     echo '<p>Tiene permisos</p>';
  32. }else {
  33.     echo '<p>No tiene permisos</p>';
  34. }
  35.  
  36. mysqli_close($conexion);

Es mejor que te vayas adaptando, ya que el cambio no se ah dado nada mas porque si, si no porque mysqli y PDO suponen una mejora importante tanto en performance como en seguridad...

Mejor te dejo el mismo código pero comentado, para que sepas que es cada cosa, para mas info te repito, VISITA EL MANUAL DE PHP
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 26/10/2012 a las 17:00