无法在PHP for mySQL中创建触发器

无法在PHP for mySQL中创建触发器,php,mysql,database,web,phpmyadmin,Php,Mysql,Database,Web,Phpmyadmin,我正在尝试使用PHP在mySQL中创建一个触发器 mysqli_select_db($host, "game"); $sql = "CREATE TRIGGER test_seven BEFORE INSERT ON test FOR EACH ROW INSERT INTO test (name) VALUES ('test')"; $query = $host->prepare($sql); $query->execute(); 即使我试着在phpMyAdmin上运行它,但它仍

我正在尝试使用PHP在mySQL中创建一个触发器

mysqli_select_db($host, "game");
$sql = "CREATE TRIGGER test_seven BEFORE INSERT ON test FOR EACH ROW INSERT INTO test (name) VALUES ('test')";
$query = $host->prepare($sql);
$query->execute();
即使我试着在phpMyAdmin上运行它,但它仍然不起作用

编辑:在准备好的语句协议中还不支持此命令
有没有跳过prepare语句的方法?

显然,真正的问题是,如果其他人有这个问题,我不应该使用PDO::prepare语句,而是使用PDO::exec。

我也面临同样的问题,对于过程/跳跳虎,我仍然不知道为什么它不允许,但我的猜测是,这是由于用户权限,在phpmyadmin中,用户具有不同的权限/特权,当您对代码执行某些操作时,它具有不同的特权,即使用户是相同的。不确定它是否正确或不工作意味着什么?你有什么错误?您是否在PHP代码中检查mySQL错误?PHP登录的用户是否有权执行此操作?@ADyson prepared statement协议不支持此命令,但是否有跳过prepare语句的方法?不要将其作为prepared语句执行。这是管理员的工作,不是程序员的工作。但除此之外,我怀疑这个声明是否像你说的那样有效。您的触发器将创建一个无限循环,因此是不允许的。insert语句将触发触发器,这将触发触发器,这将触发触发器…等等。