点不了「创建书签」最常见原因是sql未成功执行;phpmyadmin 4.9强制要求语句先执行出结果(非语法校验),否则不显示黄色书签图标,按钮灰显。

phpMyAdmin 4.9 的书签不是“收藏”动作,而是把可执行的 SQL 模板存进服务器数据库的 pma__bookmark 表;没成功执行过,按钮根本不会出现。
为什么点不了「创建书签」?
最常见的情况是:SQL 还没跑通。phpMyAdmin 4.9 强制要求语句必须先执行成功,才会在结果页下方显示黄色书签图标。它不校验语法是否合法,只看有没有返回结果集或受影响行数。
- 语法错误(比如漏
;、字段名写错)→ 执行报错 → 按钮灰显 - 权限不足(如当前用户无
SELECT权限)→ 提示“无法执行查询”,但不会说明“书签不可用” - 用了临时表、用户变量(如
@counter := @counter + 1)→ 部分 4.9.x 小版本会拒绝保存,即使执行成功 - 数据库名硬编码在 SQL 里(如
SELECT * FROM mydb.users)→ 书签保存后跨环境不能直接复用,得手动改
怎么正确保存带参数的书签?
关键一步是勾选「变量」——否则保存后只是静态 SQL,__var__ 占位符不会被识别和替换。
- 先在「SQL」标签页完整执行一遍,确认有结果
- 结果页下方出现黄色书签图标后,再点击它
- 「名称」建议用蛇形命名(如
user_by_status),别带空格或中文 - 务必勾选「变量」复选框,才能启用
__var__占位(例如WHERE status = '__status__') - 保存后,下次在「SQL」页输入该书签,会弹出输入框让你填
status值
书签在哪管理?怎么删?
书签不存本地浏览器,而是在服务器端的 pma__bookmark 表里。如果你没配置好 phpMyAdmin 的配置存储(pmadb 和 bookmarktable),保存操作会静默失败。
- 确认
$cfg['Servers'][$i]['pmadb']和$cfg['Servers'][$i]['bookmarktable']已在config.inc.php中正确设置(默认是phpmyadmin库下的pma__bookmark) - 访问
http://your-pma/setup/→ 「配置存储」选项卡 → 点「建立」可自动生成所需表结构 - 删书签只能进
pma__bookmark表手动删记录,或用「设置」→「导入/导出」→「书签」页批量管理 - 共享书签?只要多个用户共用同一个
pmadb,且控制用户(controluser)有读写权限,就能看到彼此保存的书签
真正容易被忽略的是:书签里的数据库名、表名、字段名全是硬编码文本,它不解析上下文。你在数据库 app_v2 里保存的书签,切到 app_staging 后点开,照样执行原库的语句——除非你手改或依赖 __var__ 替换整个库名,而这需要额外写逻辑,phpMyAdmin 本身不提供。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











