我想知道如果我们能知道。。php脚本中执行的查询类型。DML
或DDL
语句可以知道。。使用php。。没有Regex
下面是我执行的查询
$queryOne = "SELECT * FROM employees";
// using php script
$queryOne is DML
$queryTwo = "DROP table employees";
//using php script
$queryTwo is DDL
传统上,DML语句是:
SELECT
INSERT
DELETE
UPDATE
MERGE (newcomer on the block)
根据一些定义,其他任何东西都是DDL。
有些"其他语句"更像"会话控制"语句;不是真正的DML,也不是真正的DDL。
如果您希望检测这些语句,您可以准备(并描述)该语句并查看返回的信息以诊断它是否是上面列出的DML语句之一,也可以扫描这些关键字作为语句中的第一个非注释词。这涵盖了绝大多数实际案例。如果您有一个包含多个语句(可能是不同类型的)的单个字符串,您将不得不自己做出决定。并不是所有的DBMS都允许这样做。
或者使用regex。