problema con sql y sqli

Iniciado por mxsoun, 25 Julio 2017, 06:59 AM

0 Miembros y 1 Visitante están viendo este tema.

mxsoun

buenas noches estoy trabajando este codigo
Código (php) [Seleccionar]
$query_Rcli = "SELECT * FROM clientes WHERE Activo = 'SI'";
$Rcli = mysql_query($query_Rcli, $conection) or die(mysql_error());
$row_Rcli = mysql_fetch_assoc($Rcli);
$totalRows_Rcli = mysql_num_rows($Rcli);

pero tengo error ya que no se usa sql si no sqli por que tengo xampp
entonces e buscado por toda la red
y trato de realizar lo siguiente:

Código (php) [Seleccionar]
global $c;
$c = new mysqli("localhost", "root", "", "bdcyv");
$Rcli = $mysqli->query("SELECT * FROM clientes WHERE Activo = 'SI'", $c);
$row = $Rcli->fetch_assoc();
echo htmlentities($row['_message']);
$totalRows_Rcli = mysql_num_rows($Rcli);



pero me manda error

Notice: Undefined variable: mysqli in C:\xampp\htdocs\p\admin\clilisbaja.php on line 4

Fatal error: Uncaught Error: Call to a member function query() on null in C:\xampp\htdocs\p\admin\clilisbaja.php:4 Stack trace: #0 {main} thrown in C:\xampp\htdocs\p\admin\clilisbaja.php on line 4

y nada mas no doy con el error alguien me puede apoyar en saber que tengo mal ? ya hasta busque en la web de php y siempre me sale el error de Uncaught Error: Call to a member function query() on null in


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex

engel lex

$c = new mysqli("localhost", "root", "", "bdcyv");
$Rcli = $mysqli->query


donde declaraste $mysqli si la linea anterior asignaste el mysqli a $c?
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

#2
ya encontre mi error quedo de esta forma
Código (php) [Seleccionar]
global $c;
$c = new mysqli("localhost", "root", "", "bdcyv");
$Rcli = $c->query("SELECT * FROM clientes WHERE Activo = 'SI'");
$row_Rcli = $Rcli->fetch_object();
$totalRows_Rcli = $Rcli->num_rows;

ahora ya no tengo errores pero no me salen los clientes imprimo de esta manera
Código (php) [Seleccionar]
<?php echo $row_Rcli->IDcli?>

corri un
Código (php) [Seleccionar]
<?php echo $Rcli->error ?>
para ver los errores y me sale

Notice: Undefined property: mysqli_result::$error in



· Los códigos deben ir en etiquetas GeSHi (segundo aviso)
>aquí las reglas del foro
-Engel Lex

engel lex

lee la documentación... $Rcli tiene propiedad error?
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.

MinusFour


mxsoun

ok, listo ya fue solucionado

ahora

tengo otra consulta


$Rcli 
$c->query("SELECT * FROM clientes WHERE IDcli = %s"$colname_Rcli);


$row_Rcli $Rcli->mysql_fetch_assoc($Rcli);
$totalRows_Rcli $Rcli->num_rows;  


me sale error Fatal error: Uncaught Error: Call to a member function mysql_fetch_assoc() on boolean in

engel lex

$row_Rcli = $Rcli->mysql_fetch_assoc($Rcli);

de donde sacaste eso? lee la documentación... estás copiando el comando mysql_fetch_assoc (lee bien mysql_fetch_assoc) como si fuera parte de la clase resultado de la clase mysqli_... a demás le pasas como parametro su padre al método...  :huh:

en php.net están las funciones y como se usan... no hagas locuras
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

Cita de: engel lex en 26 Julio 2017, 01:24 AM
$row_Rcli = $Rcli->mysql_fetch_assoc($Rcli);

de donde sacaste eso? lee la documentación... estás copiando el comando mysql_fetch_assoc (lee bien mysql_fetch_assoc) como si fuera parte de la clase resultado de la clase mysqli_... a demás le pasas como parametro su padre al método...  :huh:

en php.net están las funciones y como se usan... no hagas locuras

estoy muy liado con el codigo


$Rcli = $c->query("SELECT `bdcyv` FROM `clientes` WHERE 'IDcli'= %s GetSQLValueString($colname_Rcli, `int` ))";
$row_Rcli = $Rcli->fetch_assoc();
$totalRows_Rcli = $Rcli->num_rows;



tengo ese code y este error syntax error, unexpected ';', expecting ',' or ')'
la verdad ya estoy muy confundido y ya lei la documentación de la nueva version y nada mas no doy....

engel lex

#8
Código (php) [Seleccionar]
$Rcli = $c->query("SELECT `bdcyv` FROM `clientes` WHERE 'IDcli'= %s GetSQLValueString($colname_Rcli, `int` ))";

que ide usas para programar? este tipo de errores lo debes ver con facilidad en tu ide...

el error está entre el ultimo parentesis y la ultima comilla... están mal


es simple... literalmente de este ejemplo no tienes que salir

suponiendo que clientes contiene "nombre", "direccion" y "telefono"
Código (php) [Seleccionar]
<?php 

$conexion 
= new mysqli("localhost""root""""bdcyv");

/* $conexion contiene el objeto conector, con los errores, llamadas, etc */

$sql "SELECT * FROM clientes WHERE Activo = 'SI'"

/* es buena idea separar el query para mejor legibilidad */

$salida = [];

$resultado $conexion->query($sql);

/* resultado contiene el objeto devuelto, si falló o no consiguió nada, retornará False
si se usa por ejemplo en insert, retornará True de ser exitoso */ 

if ( $resultado ) { //si hay resultado
  
while( $valores $resultado->fetch_assoc() ){ //hacemos un ciclo para extraer todo 
    
$salida[]=$valores;
  } 


/* opcional, leer al respecto, no siempre es eficiente */
$resultado->close(); 

// $salida contiene los resultados

?>


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

Cita de: engel lex en 26 Julio 2017, 05:26 AM
Código (php) [Seleccionar]
$Rcli = $c->query("SELECT `bdcyv` FROM `clientes` WHERE 'IDcli'= %s GetSQLValueString($colname_Rcli, `int` ))";

que ide usas para programar? este tipo de errores lo debes ver con facilidad en tu ide...

el error está entre el ultimo parentesis y la ultima comilla... están mal


es simple... literalmente de este ejemplo no tienes que salir

suponiendo que clientes contiene "nombre", "direccion" y "telefono"
Código (php) [Seleccionar]
<?php 

$conexion 
= new mysqli("localhost""root""""bdcyv");

/* $conexion contiene el objeto conector, con los errores, llamadas, etc */

$sql "SELECT * FROM clientes WHERE Activo = 'SI'"

/* es buena idea separar el query para mejor legibilidad */

$salida = [];

$resultado $conexion->query($sql);

/* resultado contiene el objeto devuelto, si falló o no consiguió nada, retornará False
si se usa por ejemplo en insert, retornará True de ser exitoso */ 

if ( $resultado ) { //si hay resultado
  
while( $valores $resultado->fetch_assoc() ){ //hacemos un ciclo para extraer todo 
    
$salida[]=$valores;
  } 


/* opcional, leer al respecto, no siempre es eficiente */
$resultado->close(); 

// $salida contiene los resultados

?>


lo veo un poco mejor, bueno ya con la conexion no tengo problema el problema es que cuando se selecciona el usuario por ejemplo 1 muestra los datos del 1 por get lo tenia de esta manera

$row_Rcli = mysql_fetch_assoc($Rcli);
$totalRows_Rcli = mysql_num_rows($Rcli);

pero como ya no funcionan en la nueva version de php lo que hice fue esto



$c = new mysqli("localhost", "root", "", "bdcyv");
$sql = "SELECT * FROM clientes WHERE 'IDcli' = %s, '$colname_Rcli', 'int' " ;
$salida = [];
$Rcli = $c->query($sql);

$row_Rcli = mysqli_fetch_assoc($Rcli);


pero tengo error mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean
creo estoy pasando mal un parametro, y ademas no se como tambien incluir num_rows