[英]Can't replace table name with variable in SQL query
我有一个小问题。 这是我的请求(它有效):
$reponse = $bdd->prepare('select * from student where UserName = ? and Password = ? ');
$reponse->execute(array($name,$pass));
这是可行的,但是当我想用 php 变量替换“学生”时,它不起作用:/看:
$table="stackoverflow"
$reponse = $bdd->prepare('select * from '$table' where UserName = ? and Password = ? ');
$reponse->execute(array($name,$pass));
你有什么想法吗? 如果我可以用变量替换表名会更简单。 对不起,我的英语不好。 谢谢你花时间陪我。
改变这个:
$reponse = $bdd->prepare('select * from '$table' where UserName = ? and Password = ? ');
到:
$reponse = $bdd->prepare("select * from `$table` where UserName = ? and Password = ? ");
在 PHP 中,您可以通过句点字符 (.) 连接两个字符串或变量。
因此,要连接表名和表名前后的语句,您应该更改这一行
$reponse = $bdd->prepare('select * from '$table' where UserName = ? and Password = ? ');
到
$reponse = $bdd->prepare('select * from '.$table.' where UserName = ? and Password = ? ');
由于表名是字符串,请尝试-
"SELECT * FROM from \"".$table."\" WHERE ....... ";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.