我有以下代码:
$indtag = '';
foreach($pretag as &$indtag) { //cycles through tags, puts quotes into check by tag
$quote = mysqli_query($mysqli, "SELECT `id`, `$indtag` FROM `beyonce` WHERE `$indtag` LIKE '%$indtag%'");
while($row = mysqli_fetch_assoc($quote)) {
echo $row['$indtag'];
echo $row['id'];
}
}
表中有
id
s,quote
s的字段,然后每个标记有一个单独的列(ang
表示愤怒就是一个例子)。pretag
是一个满是标签的数组(rom
是浪漫,ang
是愤怒,dece
是欺骗)我正在浏览,试图找到那些ID和标签的引号。当我使用ang
运行该语句时,它在SQL中运行良好,它选择IDs fine,但是当我尝试使用变量为标记选择列/字段时,不会返回任何结果。有什么想法吗? 最佳答案
在应该使用列名的地方使用变量$indtag
:
SELECT `id`, `$indtag` FROM `beyonce` WHERE `$indtag` LIKE '%$indtag%'
^ ^
正如@tadman指出的那样,不要这样做,用
indtag
和一个准备好的语句,否则你就要疯狂了。关于php - PHP变量在MySQLi语句中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27989786/