我试图发送一个值列表并在sql查询中将它们用作列名。然而,它不起作用,我不知道为什么。我启用了php警告,日志文件没有显示任何错误。我在phpMyAdmin中尝试了sql查询,但它确实有效。在发送数组的jquery函数中也没有错误。任何人都可以帮助我吗?
这是我的php文件获取数组:
$effect = $_GET['effect'];
$effectArray = rtrim(str_repeat("e.? = 't' OR ", count($effect)), "OR ");
$result = $db->prepare("
SELECT *
FROM skills s, skill_effect_types e
WHERE s.id=e.skill_id AND ($effectArray)");
$result->execute($effect);
$result->setFetchMode(PDO::FETCH_OBJ);
这是$ result的print_r:
PDOStatement Object ( [queryString] => SELECT * FROM skills s, skill_effect_types e WHERE s.id=e.skill_id AND (e.? = 't' OR e.? = 't'))
这是$效果的print_r:
Array ( [0] => silence [1] => stun )