user3153327
user3153327

Reputation: 21

how can I display all the data from database using an array

I'm trying to connect $countries to an array that will display all the data from my database, it only displays the last data I entered.Is there anyway I can display all of them?

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT product_id, product_name , quantity FROM inventory";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
     // output data of each row
     while($row = $result->fetch_assoc()) {
        $tom = array(" ". $row["quantity"] . $row["product_name"]);
         $countries = $tom;
     }
} else {
     echo "0 results";
}

$conn->close();

Upvotes: 0

Views: 84

Answers (4)

Your Common Sense
Your Common Sense

Reputation: 157895

// create connection
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new mysqli($servername, $username, $password, $dbname);

// get the data
$sql = "SELECT product_id, product_name, quantity FROM inventory";
$countries = $conn->query($sql)->fetch_all();

Although it's only available with mysqlnd installations, you need one, because without mysqlnd mysqli is unusable anyway.

Upvotes: 0

Mohammedshafeek C S
Mohammedshafeek C S

Reputation: 1943

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT product_id, product_name , quantity FROM inventory";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
     // output data of each row
     while($row = $result->fetch_assoc())         
         $countries[] = " ". $row["quantity"] . $row["product_name"];     
} else {
     echo "0 results";
}

$conn->close();

Upvotes: 0

Excalibrus
Excalibrus

Reputation: 130

 $countries[] = $tom;

With [] at the end of inicialization of variable you add a row to that array. If you do it without [], it's just inicialization every time in while loop.

Upvotes: 0

Jayesh Chitroda
Jayesh Chitroda

Reputation: 5049

because you have assinged data to $countries with wrong manner:

$countries = array();
if ($result->num_rows > 0) {
     // output data of each row
     while($row = $result->fetch_assoc()) {
        $tom = array(" ". $row["quantity"] . $row["product_name"]);
        $countries[] = $tom; // use []
     }
} else {
     echo "0 results";
}

Upvotes: 1

Related Questions