我回复了数据库中的一些数据,现在当我想删除一些记录时,我遇到了问题。
假设我有这样的记录:3,3,4,6,3。
<input type="radio" name="ocenaa" value="' . $row['slo'] . '">
当我想删除最后一条记录(3)时,它会删除所有包含内容3的记录......
我的查询:
$sql="DELETE FROM frend WHERE slo=('$_POST[ocenaa]')";
如何删除最后一条记录而不是全部三条?
答案 0 :(得分:0)
它正在做你期望的......你的数据不是唯一的。每行使用唯一的。
有没有其他方法来识别行?
答案 1 :(得分:0)
我唯一可以告诉你的是在结构中添加一个唯一的(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以获得最佳结果:)。
我不是大师大声笑,但这听起来像我之前遇到的一个熟悉的问题。
答案 2 :(得分:0)
你试过了吗?
$sql="DELETE FROM frend WHERE slo=('$_POST[ocenaa]') LIMIT 1;";
此外,您必须至少考虑使用mysql_real_escape_string($_POST[ocenaa])
以及更好的MySQLi或PDO来制定您的查询。