php - 如何防止Mysql数据库被更改/更新/删除?

标签 php mysql database codeigniter

我正在准备一个 MySQL 测试,用户将看到一个小型数据库,我们将显示一些问题。用户将回答问题作为查询。他将创建一个查询并运行它,看看他是否得到了想要的结果。

所有问题均基于“选择”查询问题。因此,在运行查询之前,我想确认查询中没有任何内容会更改数据库的当前状态。用户显然不能运行更新、删除、插入等任何其他类型的修改数据库的查询。

我该怎么做?有没有图书馆可以帮助我?我目前只是在查询字符串中搜索关键字 insert、update 和 delete 以防止出现这种情况。我正在使用 PHP 和 codeigniter MVC。

最佳答案

创建只分配给它的 SELECT 权限的用户,例如:

"GRANT SELECT ON *.* TO 'username'@'host_or_wildcard' IDENTIFIED BY 'password';

现在 username 的用户只有 select 权限。

关于php - 如何防止Mysql数据库被更改/更新/删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42383084/

相关文章:

php - 如何使用 PHP 自动填充输入字段并保存 cookie?

php - 整洁地编写 MySQL 查询以提高可读性的推荐方法是什么?

php - 错误: Unknown column '' in 'field list' MySQL error

mysql - 选择查找并替换查询 Mysql

php - 将下拉菜单中的值保存到数据库(php、mysql)

database - Tomcat JNDI 通过 SSH 连接数据库

javascript - JavaScript。单击按钮将数据插入数据库

PHP/MYSQL 不像 HTML 那样显示

mysql - 数据库中的多种编码

android - CursorIndexOutOfBoundsException 请求索引 0,大小为 0