php - 是否可以使用(使用 PHP)先前在 mysql CLI 中声明的准备好的语句?
问题描述
在 mysql CLI 中,我准备了如下语句:
PREPARE registrarUser FROM 'INSERT INTO Users (Users_name,Email,pass) values (?,?,?)'
在我的数据库中,准备好的语句必须以这种方式完成,而不是使用这样的 php 方法::
$conn->prepare("INSERT INTO Users (Users_name,Email,pass) VALUES (?, ?, ?)");
所以我不能使用准备好的语句或绑定参数。
我已经尝试过这个查询,它模仿了 mysql CLI 中所需的语句
$query = sprintf('
SET @Users_name = "%s";
SET @Email= "%s";
SET @pass = "%s";
EXECUTE registrarUser USING @Users_name, @Email, @pass;',$Users_name,$Email,$pass);
但它返回以下语法错误:
Errormessage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @Email= "eds@gmail.com"; SET @pass = "Thinkshap2"; EXECUTE registrar' at line 2
有谁知道是否有办法做到这一点?非常感谢您;
解决方案
推荐阅读
- facebook - 如何为现有的实时 Facebook Messenger bot 重新申请 pages_messaging 权限?
- apache-flink - Flink:使用允许的延迟时清除 Windows 元数据
- laravel - Bootstrap 的 JavaScript 在 vue js +laravel 中需要 jQuery
- python - 通过 paramiko 运行命令/删除文件夹
- python - 如果给定的键和值从字典列表中匹配,则获取所有字典
- python - 在 jupyter notebook 中并排显示图像
- reactjs - 向 AspNet Core 3.0-preview React 项目添加授权(带身份验证)
- sql-server - 仅当行与当前值不同时才更新/插入行
- html - 将本地副本上传到 bluehost 时,我的网页的相对文件路径需要更改
- sql - Mutating table error when trying to Insert into Table with select