This question already has an answer here:
I am developing a e-commerce site . I want to get the username $_SESSION['REMOTE_ADDR']
the code is here :
$new_sql = 'SELECT
sum(amount) as items_total
FROM
products_added
where `username` = '.mysqli_real_escape_string($conn, $_SESSION["REMOTE_ADDR"]).'
ORDER BY id';
$resu = mysqli_query($conn, $new_sql);
$itemsTotal = mysqli_fetch_array($resu);
$grandTotal = ($itemsTotal['items_total']);
echo $grandTotal;
But getting:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\orlando\php\include\content.php on line 120
</div>
Use the following method. Escape the variable before, it's easier.
Sidenote:
I'm pretty sure you meant to use $_SERVER["REMOTE_ADDR"]
instead of $_SESSION["REMOTE_ADDR"]
.
$_SESSION["REMOTE_ADDR"]
isn't a valid session variable.
Consult: http://php.net/manual/en/reserved.variables.server.php on $_SERVER
variable(s).
Code:
$remote_address = mysqli_real_escape_string($conn, $_SERVER["REMOTE_ADDR"]);
$new_sql = "SELECT
sum(amount) as items_total
FROM
products_added
where `username` = '".$remote_address."'
ORDER BY id";
$resu = mysqli_query($conn, $new_sql) or die(mysqli_error($conn));
$itemsTotal = mysqli_fetch_array($resu);
$grandTotal = $itemsTotal['items_total'];
echo $grandTotal;
Footnotes:
However, and as Gordon (Linoff) states in a comment:
You have a sum()
with no group by
, so it is returning one row. However, you have an order by
suggesting that you are expecting more than one row.