我一直在尝试使用FOR循环中的准备好的语句来更新行。
经过数小时的谷歌搜索和阅读其他人的问题,我仍然无法使它正常工作。
我有一个菜单,用户可以选择一个产品并显示该类别中的所有项目。
然后按百分比更新类别中所有项目的价格。
我的代码
<?php
// query using product name
$query = "SELECT * FROM Steel_Table WHERE Name='$name' ORDER BY id DESC";
$result = $conn->query($query);
if (!$result) echo "Select Failed: $query<br>" . $conn->error . "<br><br>";
$rows = $result->num_rows;
for ($j = 0 ; $j < $rows ; ++$j)
{
$result->data_seek($j);
$row = $result->fetch_array(MYSQLI_NUM);
$id_1 = (int) $row[0]; // ID
$price_meter = (float) $row[4]; // Price Meter
// prepare statement
$stmt = "UPDATE Steel_Table SET PriceMeter=? WHERE id=?";
if($stmt = mysqli_prepare($conn, $stmt))
{
// bind Params
mysqli_stmt_bind_param($stmt, "di", $new_price_meter, $id);
// set params
$new_price_meter = $price_meter + ($price_meter * 5.0 / 100.0);
$id = $id_1;
// execute statement
mysqli_stmt_execute($stmt);
}
echo <<<_END
<p align="center">You Have Updated $row[1]</p>
<table align="center" border="1" class="frameTread">
<tr>
<td>
<table align="center" border="1" class="special2">
<tr>
<td align="center" class="insert">
<b>ID: </b>$row[0] <br /><br />
<b>Name: </b>$row[1] <br /><br />
<b>Size: </b>$row[2] <br /><br />
<b>Length: </b>$row[3] <br /><br />
<b>Current Price Per Meter: $</b>$row[4] <br /><br />
<b>Current Price Per Length: $</b>$row[5] <br /><br />
<b>Cutting Charge: $</b>$row[6] <br /><br />
<br />
</td>
</tr>
</table>
<br />
</td>
</tr>
</table>
<br />
_END;
}
mysqli_stmt_close($stmt);
$result->close();
$conn->close();
function get_post($conn, $var)
{
return $conn->real_escape_string($_POST[$var]);
}
?>
非常感谢您提供任何帮助。
DRGRNR
您似乎在绑定变量后声明了它们。