fetch_assoc - recorrer consulta mysqli php
php MySqli: ¿Cómo puedo reescribir fetch a fetch_assoc? COMO CONCAT (1)
Helo, estoy usando "bind_result", "LIKE CONCAT" ... para llegar a la búsqueda de texto completo y la paginación por dos cadenas de consulta.
pero ¿cómo puedo cambiar los métodos de bind_result a fetch_assoc?
<?php
$mysqli = new mysqli("localhost", "", "", "test");
$query_string="hello"; //keywords
$sqltxt="SELECT * FROM `table` WHERE text1 LIKE CONCAT(''%'', ?, ''%'')";
//first query : for get the total number of data
$stmt = $mysqli->prepare($sqltxt);
$stmt->bind_param("s",$query_string);
$stmt->execute();
$stmt->store_result();
$total =$stmt->num_rows;
$lastpage = ceil($total/20);//obtain the last page
$page=$_GET["page"];
$startpoint = ($page * 20) - 20;
//second query : for get the true data
$stmt = $mysqli->prepare($sqltxt ." LIMIT {$startpoint}, 20");
$stmt->bind_param("s",$query_string);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id,$title,$tel); //<= hits!! I want to using fetch_assoc methods
while($stmt->fetch()){ //<= hits!! I want to using fetch_assoc methods
echo $id;
echo $atitle;
echo $tel;
}
?>
¡Gracias!
De ejemplos de documentación mysql:
<?php
// ... document''s example code:
/* bind parameters for markers */
$stmt->bind_param("s", $city);
/* execute query */
$stmt->execute();
/* instead of bind_result: */
$result = $stmt->get_result(); //with get_result ;)
/* now you can fetch the results into an array - NICE */
while ($myrow = $result->fetch_assoc()) { //now you can use fetch_assoc
// use your $myrow array as you would with any other fetch
printf("%s is in district %s/n", $city, $myrow[''district'']);
}
?>
----------- EDITADO ----------------------
Por favor, lea las notas de usuario para este método:
http://php.net/manual/en/mysqli-stmt.get-result.php
Requiere el controlador mysqlnd ... si no está instalado en su espacio web, ¡tendrá que trabajar con BIND_RESULT & FETCH!
http://www.php.net/manual/en/mysqli-stmt.bind-result.php
http://www.php.net/manual/en/mysqli-stmt.fetch.php
Función Controlador nativo de MySQL únicamente
Disponible solo con mysqlnd: http://www.php.net/manual/en/book.mysqlnd.php
Nota: mysqli_stmt :: get_result () solo está disponible en PHP v5.3.0 o superior
Voy a buscar otra alternativa.
Saludos;)