I am trying to fetch three columns from the MySql database. I am able to fetch the contents but this is not what I need. I need only the contents as a string array so that I can use them to populate list view in my java code.
The current response from my script is:
{ ["UID"]=> string(1) "1" ["UserName"]=> string(7) "abc@123" ["Subject"]=> string(15) "My Android Post"}object(stdClass)#4 (3) { ["UID"]=> string(1) "2" ["UserName"]=> string(7) "abc@123" ["Subject"]=> string(15) "My Android Post"}
I need some thing like as shown below in a String array or a list:
1 abc@123 My Android Post
2 abc@123 My Android Post
How can I get only the value stored in the column in PHP. I am new to PHP scripts, so please help me in solving this issue.
My current PHP script is as shown below:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "iFocusBlogs";
$obtainedUserName = 1;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="SELECT UID, UserName, Subject FROM AndroidTable WHERE Status ='" .$obtainedUserName. "'";
$result=mysqli_query($conn,$sql);
while($obj = $result->fetch_object()){
var_dump($obj);
}
$conn->close();
?>
Please let me know what change do I need to make in the script to get only the contents of the columns. All suggestions are welcome. Thanks in Advance.
You can also use mysqli_fetch_row()
/* fetch associative array */
while ($row = mysqli_fetch_row($result)) {
printf ("%s (%s)\n", $row[0], $row[1]).PHP_EOL;
}
Try this Updated
$query="SELECT UID, UserName, Subject FROM AndroidTable WHERE Status ='" .$obtainedUserName. "'";
if ($result = $conn->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["UID"], $row["UserName"],$row["Subject"]);
}
}
You can access object '->'
symbol
$tCont="";
while($obj = $result->fetch_object()){
//var_dump($obj);
$tCont.='<tr><td>'.$obj->UID.'</td><td>'.$obj->UserName.'</td><td>'.$obj->Subject.'</td></tr>';
}
echo $tCont;
Use fetch_array
instead of fetch_object
.
You might need some additional modifications to get the array exactly as you want, but at least it's a lot closer.
If you specify MYSQL_NUM
as second parameter, you will get an array without keys and just numeric indexes. That array is clean enough to process further.
You can output the array using a for loop...
foreach($array as $item) {
echo $item . '<br>';
}
or use implode()
...
echo implode($array);
or use json_encode()
...
echo json_encode($array);
It all depends how exactly you want to show your array.
Functions like print_r
and var_dump
are useful for inspecting the contents of arrays and other variables, but are unlikely to output that content in a format that is usable by external programs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With