我正在尝试从数据库中删除记录,而我正在使用此代码。
$value = $_POST['name'];
$sql="DELETE FROM savedemail WHERE email='$value'";
此代码正在删除记录。但是对于像我输入3这样的索引,它会删除第三行的记录而不是匹配数据库的内容。
我想通过将列内的数据与给定的$ values变量进行匹配来删除记录。
答案 0 :(得分:0)
您想使用LIKE
$sql="DELETE FROM savedemail WHERE serial LIKE '%$value%'";
因此,如果$value
等于blah
,那么它将删除包含单词blah
的所有行。 blah
可以位于串行列字段的任何位置。
在此处阅读更多内容:http://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html
模式匹配
[..]“%”匹配任意数量的字符[..]
查找包含“w”的名称:
mysql> SELECT * FROM pet WHERE name LIKE '%w%'; +----------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +----------+-------+---------+------+------------+------------+ | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 | | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL | +----------+-------+---------+------+------------+------------+