我试图创建一个用户mysql用户,为ex准备语句。
$QueryToCreateUser = $conn->prepare("CREATE USER '?'@'localhost' IDENTIFIED BY ? ;");
$QueryToCreateUser->bind_param('ss',$CreateUser,$CreatePassword);
$QueryToCreateUser->execute();
但是当我这么做的时候我会收到一条错误信息 Fatal error: Uncaught Error: Call to a member function bind_param() on boolean...
有没有一种方法可以使用准备好的语句并创建一个mysql用户?
2条答案
按热度按时间jexiocij1#
似乎是个安全问题。如何用mysqli编写的语句创建新的mysql数据库用户?您的最佳选择是:
请注意,我们忽略了所有的卫生和安全问题。不要把这个代码放在前端(在野外),只有在一个安全的后台(管理员)。
nbnkbykc2#
问题在于:
prepare()方法可以返回false,您应该对此进行检查。
另外,考虑使用类似$conn->error\u list的方法来检查解析sql时发生的错误(我偶尔会回显实际的sql语句字符串,并粘贴到phpmyadmin中进行测试,但肯定有什么地方失败了。)