how to fetch all the row of the result in php mysql?
json, mysql, php
Solution
As NikiC pointed out you should not be using the mysql_ functions any longer, you can fetch the entire array in both PDO and mysqli, Here is a example to fetch all rows using the mysqli->fetch_all function, hope this helps!
//Database Connection
$sqlConn = new mysqli($hostname, $username, $password, $database);
//Build SQL String
$sqlString = "SELECT * FROM my_table";
//Execute the query and put data into a result
$result = $sqlConn->query($sqlString);
//Copy result into a associative array
$resultArray = $result->fetch_all(MYSQLI_ASSOC);
//Copy result into a numeric array
$resultArray = $result->fetch_all(MYSQLI_NUM);
//Copy result into both a associative and numeric array
$resultArray = $result->fetch_all(MYSQLI_BOTH);
Problem
In my table I have 2 records with `companyid = 1` , but when I run the php below for `companyid = 1` it returns only the first one ! How can I fetch all the records? The php file: ``` if (isset($_GET["companyid"])) { $companyid = $_GET['companyid']; // get a product from products table $result = mysql_query("SELECT * FROM `products` WHERE companyid = $companyid;"); if (!empty($result)) { if (mysql_num_rows($result) > 0) { while($row = mysql_fetch_assoc($result)){ $product = array(); $product["pid"] = $row["pid"]; $product["productname"] = $row["productname"]; } $response["product"] = array(); array_push($response["product"], $product); // success $response["success"] = 1; echo json_encode($response); } else { // no product found $response["success"] = 0; $response["message"] = "No product found"; // echo no product JSON echo json_encode($response); } } else { // no product found $response["success"] = 0; $response["message"] = "No product found"; // echo no users JSON echo json_encode($response); } } else { $response["success"] = 0; $response["message"] = "Required field(s) is missing"; // echoing JSON response echo json_encode($response); } ``` Using `mysql_fetch_array` is happening the same. it returns `{"product":[{"pid":"12371","productname":"test"}],"success":1}` when i run a query without parameters `select * from table` using `mysql_fetch_array` it returns all the rows ..