我通过 POST 表单传递了多个值(来自上一页的多个复选框),并将它们存储到数组 $vals 中。现在我想编写一个查询字符串(在一个while循环中),根据它在循环中的距离生成一个稍微不同的查询。
<?php
$vals=($_POST['selectedIDs']);
$i=0;
while($vals[$i] != NULL){
$query = "SELECT * FROM List foo WHERE foo.fooID = echo $vals[$i]";
$result = mysqli_query($link, $query);
if($result) echo "YES IT WORKS!";
$i += 1;
}?>
但它似乎并没有以这种方式工作?我认为通过使用双引号进行查询,
echo $vals[$i]
会在 $vals[$i] 中生成当前索引的实际值而不是文字字符串?这是怎么回事?我可以在mysql服务器接受的查询字符串中没有php吗?
假设我的服务器表中有一个 fooID,即“12345”。即使我设置 $vals='12345' 并写:
$query = "SELECT * FROM List foo WHERE foo.fooID = $vals";
$result = mysqli_query($link, $query);
if($result) echo "YES IT WORKS!";
它仍然不起作用。我想我的一般问题是:是否可以在查询字符串中写入/获取变量的值,如果没有,是否有其他方法可以解决我的情况?任何帮助表示赞赏。谢谢!