我正在开发一个电子商务网站。我想获取用户名$_SESSION['REMOTE_ADDR']
代码在这里:
$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;
但是得到:
警告:mysqli_fetch_array()要求参数1为mysqli_result,第120行的C:\ xampp \ htdocs \ orlando \ php \ include \ content.php中给出布尔值
答案 0 :(得分:0)
使用以下方法。之前逃离变量,它更容易。
<强> 旁注: 强>
我很确定您打算使用$_SERVER["REMOTE_ADDR"]
代替$_SESSION["REMOTE_ADDR"]
。
$_SESSION["REMOTE_ADDR"]
不是有效的会话变量。
在$_SERVER
变量上咨询: http://php.net/manual/en/reserved.variables.server.php 。
代码:
$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;
<强>脚注:强>
然而,正如戈登(林诺夫)在评论中所述:
您的sum()
没有group by
,因此返回一行。但是,您有order by
建议您预计会有多行。