我从数据库中回显了一些数据,现在当我想删除一些记录时,我遇到了问题。
假设我有以下记录:3、3、4、6、3。
<input type="radio" name="ocenaa" value="' . $row['slo'] . '">
当我想删除最后一条记录 (3) 时,它会删除所有内容为 3 的记录...
我的查询:
$sql="DELETE FROM frend WHERE slo=('$_POST[ocenaa]')";
我怎样才能删除最后一条记录而不是全部三个?
我唯一能告诉你的是在结构中添加一个唯一的(auto_incrementing)_key phpMySql 可以让你轻松地做到这一点。从那时起,您将这样做;说密钥在 php 中被称为 id
$query = mysql_query("SELECT `id` FROM frend WHERE 1
ORDER BY `id` DESC
LIMIT 1")
$result = mysql_fetch_array($query);
mysql_query("DELETE FROM frend WHERE
id= ".$result[0]);
仅从唯一的表行中明确调用 DELETE 以获得最佳期望结果:)。
我不是大师,哈哈,但这听起来确实像我之前遇到的一个熟悉的问题。
你有没有尝试过 :
$sql="DELETE FROM frend WHERE slo=('$_POST[ocenaa]') LIMIT 1;";
此外,您至少必须考虑使用mysql_real_escape_string($_POST[ocenaa])
更好的 MySQLi 或 PDO 来制定您的查询。
它正在做你所期望的......你的数据不是唯一的。对每一行使用唯一的 Id。
有没有其他方法来识别行?