elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  problema con sql y sqli
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: problema con sql y sqli  (Leído 4,764 veces)
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: problema con sql y sqli
« Respuesta #10 en: 26 Julio 2017, 07:46 am »

Código:
$Rcli = $c->query($sql);

$row_Rcli = mysqli_fetch_assoc($Rcli);

que rayos haces? -.- te di un codigo de como se hace!!!! no mescles cosas, o lo haces todo OOP o lo haces procedimental...

poro otro lado...

Citar
error mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean

el resultado es booleano... en el codigo comentado que dejé indiqué que significa eso...

para expandirte más el codigo porque veo que no es suficiente

Código
  1. <?php
  2.  
  3. $conexion = new mysqli("localhost", "root", "", "bdcyv");
  4.  
  5. $sql = "SELECT * FROM clientes WHERE Activo = 'SI'";
  6.  
  7. $salida = [];
  8.  
  9. $resultado = $conexion->query($sql);
  10.  
  11. if ( $resultado ) { //si hay resultado
  12.  while( $valores = $resultado->fetch_assoc() ){ //hacemos un ciclo para extraer todo
  13.    $salida[]=$valores;
  14.  }
  15. }else{ // si no hay resultado, significa error
  16.  echo $conexion->error;
  17. }
  18.  
  19. $cantidad_de_cloumnas = $resultado->num_rows;
  20.  
  21. $resultado->close();
  22.  
  23. // $salida contiene los resultados
  24.  
  25. ?>

y el error está aquí
Código:
$sql = "SELECT * FROM clientes WHERE 'IDcli' = %s, '$colname_Rcli', 'int' " ;

esa consulta está mala, te dará error cerca de alguna de las comas

te puse un codigo explicado para que entendieras...

sientate a estudiar antes de continuar, tanto php como mysql y luego continuas...

aquí la documentación del objeto resultado

http://php.net/manual/es/class.mysqli-result.php




« Última modificación: 26 Julio 2017, 07:52 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
mxsoun

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: problema con sql y sqli
« Respuesta #11 en: 26 Julio 2017, 08:37 am »

Código:
$Rcli = $c->query($sql);

$row_Rcli = mysqli_fetch_assoc($Rcli);

que rayos haces? -.- te di un codigo de como se hace!!!! no mescles cosas, o lo haces todo OOP o lo haces procedimental...

poro otro lado...

el resultado es booleano... en el codigo comentado que dejé indiqué que significa eso...

para expandirte más el codigo porque veo que no es suficiente

Código
  1. <?php
  2.  
  3. $conexion = new mysqli("localhost", "root", "", "bdcyv");
  4.  
  5. $sql = "SELECT * FROM clientes WHERE Activo = 'SI'";
  6.  
  7. $salida = [];
  8.  
  9. $resultado = $conexion->query($sql);
  10.  
  11. if ( $resultado ) { //si hay resultado
  12.  while( $valores = $resultado->fetch_assoc() ){ //hacemos un ciclo para extraer todo
  13.    $salida[]=$valores;
  14.  }
  15. }else{ // si no hay resultado, significa error
  16.  echo $conexion->error;
  17. }
  18.  
  19. $cantidad_de_cloumnas = $resultado->num_rows;
  20.  
  21. $resultado->close();
  22.  
  23. // $salida contiene los resultados
  24.  
  25. ?>

y el error está aquí
Código:
$sql = "SELECT * FROM clientes WHERE 'IDcli' = %s, '$colname_Rcli', 'int' " ;

esa consulta está mala, te dará error cerca de alguna de las comas

te puse un codigo explicado para que entendieras...

sientate a estudiar antes de continuar, tanto php como mysql y luego continuas...

aquí la documentación del objeto resultado

http://php.net/manual/es/class.mysqli-result.php





listo sin errores ahora ya me aparece el formulario, pero por ejemplo cuando pongo por metodo get el numero 1 no me muestra en las casillas el dato del cliente por ejemplo
esta abajo con html en tablas e imprimo de esa forma  
<?php echo $row_Rcli['IDcli']; ?> :-(


puse el code despues de la linea $totalRows_Rcli = $Rcli->num_rows;
pero solo me muestra el formulario sin nada de valores



« Última modificación: 26 Julio 2017, 09:18 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: problema con sql y sqli
« Respuesta #12 en: 26 Julio 2017, 09:20 am »

muestra el codigo... a estas alturas no confío de los desatres que armes...

por cierto, puedes hacer un vardump a la varible de num_rows... si es 0... es porque no hay nada con esa condicion en ta tabla
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
mxsoun

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: problema con sql y sqli
« Respuesta #13 en: 26 Julio 2017, 09:28 am »

muestra el codigo... a estas alturas no confío de los desatres que armes...

por cierto, puedes hacer un vardump a la varible de num_rows... si es 0... es porque no hay nada con esa condicion en ta tabla

jeje es que ya ando muy perdido.


Código:



<?php

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
 
{

 
Global $con;
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }
  $theValue = mysqli_real_escape_string($con, $theValue);
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
   return $theValue;
}
}



$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$vactivo = "SI";
  $updateSQL = sprintf("UPDATE clientes SET RazonS=%s, Giro=%s, Direc=%s, Edo=%s, Mpio=%s, Cp=%s, Rfc=%s, Mail=%s, Dominio=%s, Contacto=%s, Tel1=%s, Activo=%s, Tel2=%s WHERE IDcli=%s",
                       GetSQLValueString($_POST['RazonS'], "text"),
                       GetSQLValueString($_POST['Giro'], "text"),
                       GetSQLValueString($_POST['Direc'], "text"),
                       GetSQLValueString($_POST['Edo'], "text"),
                       GetSQLValueString($_POST['Mpio'], "text"),
                       GetSQLValueString($_POST['Cp'], "text"),
                       GetSQLValueString($_POST['Rfc'], "text"),
                       GetSQLValueString($_POST['Mail'], "text"),
                       GetSQLValueString($_POST['Dominio'], "text"),
                       GetSQLValueString($_POST['Contacto'], "text"),
                       GetSQLValueString($_POST['Tel1'], "text"),
                       GetSQLValueString($vactivo, "text"),
                       GetSQLValueString($_POST['Tel2'], "text"),
                       GetSQLValueString($_POST['IDcli'], "int"));

 
 
  $updateGoTo = "menu.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

$colname_Rcli = "-1";
if (isset($_GET['idc'])) {
  $colname_Rcli = $_GET['idc'];
}
global $c;


$c = new mysqli("localhost", "root", "", "bdcyv");
$sql = "SELECT * FROM clientes WHERE 'IDcli = %s' '$colname_Rcli' 'int'  "  ;

$salida = [];
 
$Rcli = $c->query($sql);
 
if ( $Rcli ) { //si hay resultado
  while( $row_Rcli = $Rcli->fetch_assoc() ){ //hacemos un ciclo para extraer todo
    $salida[]=$row_Rcli;





  }
}else{ // si no hay resultado, significa error
  echo $c->error;
}
 
$totalRows_Rcli = $Rcli->num_rows;

?>


<!DOCTYPE html>
<html lang="es">

  <head>
    <meta charset="utf-8">
    <title>Actualizar cliente</title>
    <link rel="stylesheet" href="css/styleadm.css">
  </head>
 


<body>

<div class='panelg'>
 
    <div class="header">
      <a class="logo" href="../index.html">
        <img src="../images/logo.png" />
      </a>
      <h3>
        computo
      </h3> 
    </div>
 
 
    <div class='panel1'>
      <div class="panel2">
        <form method="post" name="form1" action="<?php echo $editFormAction; ?>">
          <table align="center">
            <tr valign="baseline">
              <td nowrap align="right">IDcli:</td>
              <td><?php echo $row_Rcli['IDcli']; ?></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">RazonS:</td>
              <td><input type="text" name="RazonS" value="<?php echo htmlentities($row_Rcli['RazonS'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Giro:</td>
              <td><input type="text" name="Giro" value="<?php echo htmlentities($row_Rcli['Giro'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Direc:</td>
              <td><input type="text" name="Direc" value="<?php echo htmlentities($row_Rcli['Direc'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Edo:</td>
              <td><input type="text" name="Edo" value="<?php echo htmlentities($row_Rcli['Edo'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Mpio:</td>
              <td><input type="text" name="Mpio" value="<?php echo htmlentities($row_Rcli['Mpio'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Cp:</td>
              <td><input type="text" name="Cp" value="<?php echo htmlentities($row_Rcli['Cp'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Rfc:</td>
              <td><input type="text" name="Rfc" value="<?php echo htmlentities($row_Rcli['Rfc'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Mail:</td>
              <td><input type="text" name="Mail" value="<?php echo htmlentities($row_Rcli['Mail'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Dominio:</td>
              <td><input type="text" name="Dominio" value="<?php echo htmlentities($row_Rcli['Dominio'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Contacto:</td>
              <td><input type="text" name="Contacto" value="<?php echo htmlentities($row_Rcli['Contacto'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">Tel1:</td>
              <td><input type="text" name="Tel1" value="<?php echo htmlentities($row_Rcli['Tel1'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <!--
            <tr valign="baseline">
              <td nowrap align="right">Activo:</td>
              <td><input type="text" name="Activo" value="<?php echo htmlentities($row_Rcli['Activo'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            -->
            <tr valign="baseline">
              <td nowrap align="right">Tel2:</td>
              <td><input type="text" name="Tel2" value="<?php echo htmlentities($row_Rcli['Tel2'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
            </tr>
            <tr valign="baseline">
              <td nowrap align="right">&nbsp;</td>
              <td><input type="submit" value="Actualizar"></td>
            </tr>
          </table>
          <input type="hidden" name="MM_update" value="form1">
          <input type="hidden" name="IDcli" value="<?php echo $row_Rcli['IDcli']; ?>">
        </form>
        <p>&nbsp;</p>
      </div>
    </div>
   
</div>
 
</body>
</html>

 <?php
$Rcli->close();
 
// $salida contiene los resultados
?>








por cierto el otro error que tengo es que tambien no modifica manda al menu
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: problema con sql y sqli
« Respuesta #14 en: 26 Julio 2017, 18:34 pm »

tu codigo está mal o porque andas copiando y pegando a lo ciego o por falta de atencion

ve tu codigo con calma

no voy a continuar resolviendo los errores basicos de algoritmia... el problema con sql y mysqli_ está resuelto...

ya estás completamente enredado copiando y pegando a lo ciego y dejandome a mi que resuelva tus errores...

hasta aquí lo dejo....
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
mxsoun

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: problema con sql y sqli
« Respuesta #15 en: 27 Julio 2017, 02:37 am »

No fue copiar y pegar solo copie y pegue los de las bases de datos, pero ya con lo que me pusiste de base de datos pude analizar en la noche y con la info que me mandaste de php vastantes errores tengo pero estaba acostumbrado a la forma tradicional.
Y creo para eso se hicieron los foros de este tipo para ayudar revolver dudas por más tontas que sean hasta luego y gracias.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con SQLi
Nivel Web
Debci 1 1,972 Último mensaje 16 Mayo 2010, 16:14 pm
por SH4V
Problema al hacer una SQLi « 1 2 3 »
Nivel Web
Debci 20 8,362 Último mensaje 5 Septiembre 2010, 11:38 am
por Debci
Problema con SQLi en ASP MsSQL
Nivel Web
furtiworld 2 3,273 Último mensaje 17 Octubre 2010, 00:50 am
por furtiworld
Problema con SQLI Helper
Hacking
Nardo[N] 5 4,769 Último mensaje 24 Febrero 2011, 04:32 am
por Nardo[N]
Problema Sqli
Seguridad
overxfl0w13 0 1,219 Último mensaje 27 Noviembre 2012, 21:19 pm
por overxfl0w13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines