php中SQL语句能不能用占位符代替表的名字?

像这样$query=$dbh->prepare('createtableifnotexists?(idint(11)unsignednotnullauto_increme... 像这样
$query = $dbh->prepare('create table if not exists ?(id int(11) unsigned not null auto_increment primary key,user varchar(255) not null,content text not null,ctime datetime)');
$query->bindValue(1,$user."and".$top,PDO::PARAM_STR);
$query->execute();
但是好像这样不行 到底要怎么做?
展开
 我来答
bluelight458794
2015-04-15 · TA获得超过918个赞
知道小有建树答主
回答量:349
采纳率:50%
帮助的人:212万
展开全部

这样做不行,占位符的用法一般是在字符串处理的函数中的,而不是在prepare这个函数中。

建议你先做一个字符串处理,将占位符用类似“[strKey]”这样的字符标签占位,然后再去替换这个标签(用str_replace函数)。

@str='create table if not exists [TableName](id int(11) unsigned not null auto_increment primary key,user varchar(255) not null,content text not null,ctime datetime)';
@str=str_replace("[TableName]","myTableName",@str);

这样是比较好理解的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式