![](/img/trans.png)
[英]how to solve 'Trying to get property of non-object error' & 'Undefined variable: id' in php code?
[英]how to solve php error Undefined variable: id?
这是我的代码。 它显示了完美的输出,但显示了一个php错误,这是我的代码。 它显示了完美的输出,但是显示了一个php错误,它是
<tbody>
<?php
while ($row = mysqli_fetch_array($result)) {
$sum+= $row["Price"];
$id .= $row["id"] . ",";
echo "<tr><td>" . "#" . $row["id"] . "</td><td>" . $row["Name"] . "</td><td>Rs " . $row["Price"] . "</td><td><a href='cart-remove.php?id={$row['id']}' class='remove_item_link'> Remove</a></td></tr>";
}
$id = rtrim($id, ", ");
echo "<tr><td></td><td>Total</td><td>Rs " . $sum . "</td><td><a href='success.php?itemsid=" . $id . "' class='btn btn-primary'>Confirm Order</a></td></tr>";
?>
</tbody>
未定义的变量:ID。
您尝试连接$id
变量,但尚未在任何位置进行设置,因此未定义。 您只需在while循环之前定义它,例如:
<tbody>
<?
$id = "";
while ($row = mysqli_fetch_array($result)) {
$sum+= $row["Price"];
$id .= $row["id"] . ",";
echo "<tr><td>" . "#" . $row["id"] . "</td><td>" . $row["Name"] . "</td><td>Rs " . $row["Price"] . "</td><td><a href='cart-remove.php?id={$row['id']}' class='remove_item_link'> Remove</a></td></tr>";
}
$id = rtrim($id, ", ");
echo "<tr><td></td><td>Total</td><td>Rs " . $sum . "</td><td><a href='success.php?itemsid=" . $id . "' class='btn btn-primary'>Confirm Order</a></td></tr>";
?>
</tbody>
这将解决您的问题,但请检查@devpro答案。 他正在使用一种更优雅的解决方案和更好的方法。
您还可以通过以下方式获得所需的结果:
例:
$idArray = array(); // initialize array
while () { // your while loop
$idArray[] = $row["id"]; // save id into an array
}
$id = implode(',', $idArray); // now you can use this variable as you need.
在这里,我将$id
保存到数组中。 那么您只需要使用implode()
方法即可。
通过使用此方法,您无需使用trim()
方法删除最后一个逗号(,)
注意:这只是使用array
和implode()
的示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.