【发布时间】:2016-01-19 19:33:11
【问题描述】:
我有一堆php 文件,其中有很多insert 命令。
在每个查询中,我想插入一个列变量admin_id = '$admin_id',
即,如果查询是
insert into users (ch_id, num_value) values ('2', '100')
查询应转换为
insert into users (admin_id, ch_id, num_value) values ($admin_id, '2', '100')
为此,我执行了以下命令
sed -i 's/\(insert.*into.*\) (\(.*values\)/\1 (admin_id, \2/' *.php
和
sed -i "s/\(insert.*into.*\) values (/\1 values ('\$admin_id', /" *.php
上述方法已成功运行,但仍然面临查询中没有where 的SQL 查询问题,即
insert into abctable (id,no)
到
insert into tablename (admin_id, id, no)
和
insert into abctable select $column from $tableperiod
到
insert into abctable select $column from $tableperiod where admin_id='$admin_id'
和
insert into abctable select $column from $tableperiod where abc != 'xyz'
到
insert into abctable select $column from $tableperiod where admin_id = '$admin_id' and abc != 'xyz'
如何在这些查询中也插入admin_id?
php 文件中的查询是通过以下方式将查询传递给函数来执行的:
execute_query("insert * from $table order by username");
我可以找到仍有待修改的查询 执行
grep 'execute_query' *| grep insert| grep -v admin_id > stillleft.txt
【问题讨论】:
-
你好again.