我想知道我们是否可以知道.. 在 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 都允许这样做。
或使用正则表达式。