Autor
|
Tema: problema con sql y sqli (Leído 8,339 veces)
|
engel lex
|
$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... 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 <?php $conexion = new mysqli("localhost", "root", "", "bdcyv"); $sql = "SELECT * FROM clientes WHERE Activo = 'SI'"; $salida = []; $resultado = $conexion->query($sql); if ( $resultado ) { //si hay resultado while( $valores = $resultado->fetch_assoc() ){ //hacemos un ciclo para extraer todo $salida[]=$valores; } }else{ // si no hay resultado, significa error echo $conexion->error; } $cantidad_de_cloumnas = $resultado->num_rows; $resultado->close(); // $salida contiene los resultados ?>
y el error está aquí $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
Mensajes: 43
|
$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 <?php $conexion = new mysqli("localhost", "root", "", "bdcyv"); $sql = "SELECT * FROM clientes WHERE Activo = 'SI'"; $salida = []; $resultado = $conexion->query($sql); if ( $resultado ) { //si hay resultado while( $valores = $resultado->fetch_assoc() ){ //hacemos un ciclo para extraer todo $salida[]=$valores; } }else{ // si no hay resultado, significa error echo $conexion->error; } $cantidad_de_cloumnas = $resultado->num_rows; $resultado->close(); // $salida contiene los resultados ?>
y el error está aquí $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.phplisto 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
|
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
Mensajes: 43
|
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.
<?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"> </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> </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
|
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
Mensajes: 43
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con SQLi
Nivel Web
|
Debci
|
1
|
2,679
|
16 Mayo 2010, 16:14 pm
por SH4V
|
|
|
Problema al hacer una SQLi
« 1 2 3 »
Nivel Web
|
Debci
|
20
|
11,160
|
5 Septiembre 2010, 11:38 am
por Debci
|
|
|
Problema con SQLi en ASP MsSQL
Nivel Web
|
furtiworld
|
2
|
4,103
|
17 Octubre 2010, 00:50 am
por furtiworld
|
|
|
Problema con SQLI Helper
Hacking
|
Nardo[N]
|
5
|
6,098
|
24 Febrero 2011, 04:32 am
por Nardo[N]
|
|
|
Problema Sqli
Seguridad
|
overxfl0w13
|
0
|
2,003
|
27 Noviembre 2012, 21:19 pm
por overxfl0w13
|
|