//Datos de testeo
$b_data = $_SERVER['SERVER_NAME'];
$dbConnect->query("insert into global values('$b_data', 'thisInIntroducced')");
$query = $dbConnect->query("select * from global");
$result = $query->result['num_rows'];
Me dice un error, este error:
Notice: Undefined property: mysqli_result::$result in F:\localhost\htdocs\index.php on line 12
Soy nuevo en PHP :( y ando testeando algunas cosas que ando viendo por la php.net
El método query retorna un result: http://php.net/manual/es/class.mysqli-result.php (http://php.net/manual/es/class.mysqli-result.php)
Cita de: ivancea96 en 18 Julio 2015, 01:42 AM
El método query retorna un result: http://php.net/manual/es/class.mysqli-result.php (http://php.net/manual/es/class.mysqli-result.php)
Si Si, eso ya lo tenia, pero me da un error de Undefined property
La linea 12 (que es la que menciona el error es la siguiente)
Undefined property: mysqli_result::$result in F:\localhost\htdocs\index.php on line 12
$result = $query->result['num_rows'];
<?php
$dbConnect = new mysqli("localhost", "root", "", "global");
//Datos de testeo
$b_data = $_SERVER['SERVER_NAME'];
$dbConnect->query("insert into global(name, value) values('$b_data', 'thisInIntroducced')");
$query = $dbConnect->query("select * from global");
$result = $query->result['num_rows']; //Linea del error
print($result);
print("CLIENTE: ".$b_data);
//Chequeando conexion
if ($dbConnect->connect_errno) {
if ($dbConnect->connect_error) {
print("ERROR DE CONEXION DE MYSQL: ".$dbConnect->connect_error);
die();
}
print("ERROR DE CONEXION DE MYSQL N: ".$dbConnect->connect_errno);
die();
}
$dbConnect->close();
print("<p>Conexion establecida correctamente</p>");
?>
adicional: Lo que pretendo hacer es saber cuantas filas tiene la base de datos, imagino que es esa la funcion que necesito
Para saber el numero de filas que te devolvió la query utilizando la extensión mysqli tienes dos formas, una por procedimientos, utilizando el método
mysqli_num_rows(mysqli_result $result)
Que lo que recibe el resultado de la query
O el estilo orientado objetos:
$mysqli_result->num_rows;
Por ejemplo, si el resultado de la query esta en la variable $result:
Estilo objetos:
$row_count = $result->num_rows;
Estilo procedimientos:
$row_count = mysqli_num_rows($result);
Salu2s
Cita de: DarK_FirefoX en 18 Julio 2015, 02:15 AM
Para saber el numero de filas que te devolvió la query utilizando la extensión mysqli tienes dos formas, una por procedimientos, utilizando el método
mysqli_num_rows(mysqli_result $result)
Que lo que recibe el resultado de la query
O el estilo orientado objetos:
$mysqli_result->num_rows;
Por ejemplo, si el resultado de la query esta en la variable $result:
Estilo objetos:
$row_count = $result->num_rows;
Estilo procedimientos:
$row_count = mysqli_num_rows($result);
Salu2s
Hmm, se ve que el problema es que estoy dandole un valor nil, es decir, probe ambas formas de lo que me mencionaste, pero devuelve nul, Por otra parte, remodifique el codigo para ver si es el result era la query y usé el codigo que tu me dijiste, y funcionó
Codigo antiguo //getter de filas
$query = $dbConnect->query("select * from global");
$result = $query->result;
//$num_rows = $result->num_rows;
$num_rows = mysqli_num_rows($result);
Codigo nuevo //getter de filas
$query = $dbConnect->query("select * from global");
//$result = $query->result;
//$num_rows = $result->num_rows;
$num_rows = $query->num_rows;
print("Numero de filas: $num_rows <br>");
EDIT
Volvió el problema al cambiarlo a formato tabla, anda ya!! D: Si es el mismo codigo, por que falla ahora?
<?php
//Conexion a base de datos
$db = array();
$db['usuario'] = "root"; $db['contra'] = ""; $db['dbnombre'] = 'global'; $db['host'] = 'localhost';
$dbConnect = new mysqli($db['host'], $db['usuario'], $db['contra'], $db['dbnombre']);
//Chequeo de conexion a base de datos
if ($dbConnect->connect_errno) {
if ($dbConnect->connect_error) {
print("ERROR DE CONEXION DE MYSQL: ".$dbConnect->connect_error);
die();
}
print("ERROR DE CONEXION DE MYSQL N: ".$dbConnect->connect_errno);
die();
}
//Numero de filas en la base de datos
$query = $dbConnect->query("select * from {$db['dbnombre']}");
$numero_filas = $query->num_rows;
?>
EDIT DE NUEVO:
Era error de la base de datos, ya esta todo bien XD