-1
A
回答
0
可以运行两个queries.That会是这样:
SELECT id, relevant_field from my_table WHERE the_condition_for_the_rows_to_delete.
再进行第二次查询:
DELETE FROM my_table WHERE id IN (the_ids_you_got_with_the_first_select)
之后,你将删除与第一个查询的结果相关联的文件。
0
您可以使用PHP的unlink()
函数删除文件(docs here)。
首先做一个查询来获取文件的位置,然后通过结果运行一个循环:
$mysqli = new mysqli("localhost", "user", "password", "database");
$results = $mysqli->query("SELECT id,file_path FROM table WHERE whatever")->fetch_assoc();
foreach($results as $result) {
unlink($row['file_path']);
$mysqli->query("DELETE FROM table WHERE id = " . $row['id']);
}
确保您净化任何用户提交的输入,以避免SQL注入。
编辑:这不是最有效的方式做到这一点 - 我已经证明了这种方式简化代码,你会过得更好添加ID,以一个数组,然后删除所有行中单个查询。
1
以下行删除全部在“标题”列中包含单词“Cron”的行。
mysqli_query($con,"delete from `foexstco_rr`.`Timings` where `Title`='Cron'");
下一行删除一切。
mysqli_query($con,"delete from `foexstco_rr`.`Timings`");
该行删除了包含3个条件的行。请注意,**和**必须分隔每个条件。
mysqli_query($con,"delete from `foexstco_rr`.`Timings` where `Number`='77' and `Title`='Cron' and `Cols`='1'");
如果您打印的mysqli的响应,“1”将意味着命令已进行,但并不一定意味着任何行已被删除。 “0”表示命令被错误地写入。
相关问题
- 1. mysqli查询删除
- 2. mysqli删除
- 3. 从2个mysqli查询中删除相同的值
- 4. mysqli删除查询返回布尔值false
- 5. Mysqli多查询
- 6. mysql查询到mysqli查询
- 7. MySQLi删除语句不会删除
- 8. 删除子查询
- 9. SQL删除查询
- 10. MySQL删除查询
- 11. Android删除查询
- 12. 删除mysql查询
- 13. 保护mysqli查询
- 14. 回声mysqli查询
- 15. 构建mysqli查询?
- 16. mysqli查询与zerofill
- 17. 上的MySQLi查询
- 18. 优化MySQL查询删除子查询
- 19. Mysqli查询性能多查询
- 20. mysqli多查询不执行查询
- 21. 笨删除查询不能
- 22. 留在删除查询
- 23. 删除查询绑定?
- 24. MySQL查询删除条目
- 25. 如何删除查询
- 26. 删除并查询,无DbContext.SaveChanges
- 27. Zend_Controller_Request删除GET查询
- 28. 用angularjs删除查询
- 29. Sqlite删除查询错误
- 30. 级联删除查询
这就是为什么你应该将文件存储在数据库中,而不是路径。 – vascowhite 2013-04-21 17:19:05
@vascowhite你是什么意思? – 2013-04-21 17:46:42
RTLM:http://php.net/unlink @vasco:db中的文件是一个好主意。从删除查询中杀死“文件”的次要效率增益也不足以弥补其带来的所有其他麻烦 – 2013-04-21 17:48:42