My php is not very good, and i'm struggling with something that is probably quite simple. Basically I have the following code and where if 1 row is found I would like to set the result to $aPrds, how can I do this?
$stmt = $db->prepare("select * from products where id=?");
$stmt->bind_param("s", $_GET['id']);
if($stmt->execute())
{
$stmt->store_result();
echo $stmt->num_rows;
if($stmt->num_rows==1)
{
//SET RETURNED ROW TO aPrds
}
else
{
echo "no results or too many found";
}
}
else
{
echo "sql invalid";
}
------------------UPDATE------------
I have also tried the following code which has been unsuccessful (returns (null)):
$stmt = $db->prepare("select productid, product_name, description from product where productid=?");
$a=1;
$stmt->bind_param("i", $a);
if($stmt->execute()){
$stmt->store_result();
if($stmt->num_rows==1){
$stmt->bind_result($b, $c, $d);
print_r($b);
print_r($c);
print_r($aPrds);
}else{
echo "no result or more than 1 returned";
}
}else{
echo "invalid sql";
}
Please note that I have tested the sql and it works, also the $db mysqli connection is definitely working.
I think you are looking for the get_result and fetch_assoc methods:
Edit:
Apparently these functions are not yet available (should have tested this, sorry). So this is tested:
And you second solution should also work if you added
$stmt->fetch()
after$stmt->bind_result($b, $c, $d);