我可以在 prepare() 函数中连接字符串以插入指定的表吗
Posted
技术标签:
【中文标题】我可以在 prepare() 函数中连接字符串以插入指定的表吗【英文标题】:Can I concatenate strings within the prepare() function to insert into specified tables 【发布时间】:2016-12-07 07:18:38 【问题描述】:我创建了一个包含两个表的数据库,每个表用于用户类型(导师或学员)。用户被问到他是否想成为导师或被指导者,然后是一堆其他调查问题。这可能吗?
$user_type = $_POST["user_type"];
$stmt = $conn->prepare("INSERT INTO ' + $user_type + '(value_stream) VALUES (:vs)");
$stmt->bindParam(':vs', $value_stream);
【问题讨论】:
提供给prepare
的字符串value 的生成方式与prepare
的工作方式无关。但是,提供的字符串必须是有效的 SQL .. 不是。尝试检查生成的字符串(并阅读 SQL 错误消息)。
php 的连接运算符是.
而不是+
。
确保执行。
如果你更正了concat,你当然可以这样做。通常被问到的是你能不能绑定一个表名或列名或IN
子句,所有这些你都不能
【参考方案1】:
$user_type = $_POST["user_type"];
$stmt = $conn->prepare("INSERT INTO ". $user_type ." '(value_stream) VALUES (:vs)");
$stmt->bindParam(':vs', $value_stream);
【讨论】:
以上是关于我可以在 prepare() 函数中连接字符串以插入指定的表吗的主要内容,如果未能解决你的问题,请参考以下文章
使用 wpdb prepare 安全地收集带有“join”的“where”子句数组
参数“mds”在pyLDAvis.sklearn.prepare()函数中的含义是什么?
保护 wordpress - 如何使用 wodb->prepare() 函数