gpt4 book ai didi

php - 在 PHP 的 while 循环中更新 MySql 中的所有行

转载 作者:行者123 更新时间:2023-11-29 08:21:06 27 4
gpt4 key购买 nike

我有一个问题。我想用 while 循环更新 MySql 中的值。到目前为止我的代码:这里我从数据库中获取行:

$sql = mysql_query("SELECT * FROM Price WHERE idCar='$idCar'");
while($row = mysql_fetch_array($sql)){
$i = $i+1;
$price = $row["price"];
$newdate= $row["newdate"];
$idCar = $row["idCar"];
$idPrice = $row["idPrice"];
$sqlsearch .= ' <tr>
<td height="31" align="left" valign="middle"><div align="right">Dato:</div></td>
<td height="31" align="left" valign="middle">
<fieldset id="example_1"><input type="text" name="newdate" class="field" cols="42" rows="8" id="datepicker'. $i .'" value='. $newdate.' />
&emsp;&emsp;Pris:&nbsp;<input type="text" name="price" class="field" cols="42" rows="8" id="price" value='. $price .' />&emsp;&emsp;&emsp;&emsp;
Priceid:&nbsp;<input type="text" name="idPrice" class="field" cols="42" rows="8" id="idPrice" value='. $idPrice .' />
</fieldset></td>
</tr>';

这里我想更新新值:

$idCar = $_GET['idCar'];

$sqlupdate = mysql_query("UPDATE Price SET newdate='$newdate', price='$price' WHERE idPrice='".$idPrice."'");

while($row = mysql_query($sqlupdate)){
$price = $row["price"];
$newdate = $row["newdate"];
$idPrice = $row["idPrice"];
}

最佳答案

调用 SQL 更新查询时,不需要循环遍历它。您是否尝试再次检索更新后的值? (您已经将它们包含在 PHP 变量中)。

你的第一个代码片段看起来不错(除了 mysql_* 被弃用时这里的破坏记录之外,使用 mysqli_* 等...),但是你的第二个:

$sqlupdate = mysql_query("UPDATE Price SET newdate='$newdate', price='$price' WHERE idPrice='".$idPrice."'");

此行将使用 idPrice = {contents of idPrice} 更新所有记录(如果您只希望更新一条记录,则输入 LIMIT 1 不会对您造成任何伤害)。您不需要循环它,而且我看不到您实际上在做什么。

然后您应该能够确定查询是否成功:

if($sqlupdate)
echo 'Success';
else
echo 'Failed: ' . mysql_error();

我假设此代码将进入示例一中的当前循环?

--编辑--示例:

// get info from db
$sql = mysql_query("SELECT * FROM Price WHERE idCar='$idCar'");
while($row = mysql_fetch_array($sql)){
$i = $i+1;
$price = $row["price"];
$newdate= $row["newdate"];
$idCar = $row["idCar"];
$idPrice = $row["idPrice"];

// display info
$sqlsearch .= ' <tr>
<td height="31" align="left" valign="middle"><div align="right">Dato:</div></td>
<td height="31" align="left" valign="middle">
<fieldset id="example_1"><input type="text" name="newdate" class="field" cols="42" rows="8" id="datepicker'. $i .'" value='. $newdate.' />
&emsp;&emsp;Pris:&nbsp;<input type="text" name="price" class="field" cols="42" rows="8" id="price" value='. $price .' />&emsp;&emsp;&emsp;&emsp;
Priceid:&nbsp;<input type="text" name="idPrice" class="field" cols="42" rows="8" id="idPrice" value='. $idPrice .' />
</fieldset></td>
</tr>';

$newdate = 'Your value to update';
$price = 'Your price to update';
// update data
$sqlupdate = mysql_query("UPDATE Price SET newdate='$newdate', price='$price' WHERE idPrice='".$idPrice."'");
// exit with error message if there was an error
if(!$sqlupdate) die('Error:' . mysql_error());
}

关于php - 在 PHP 的 while 循环中更新 MySql 中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392564/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com