我有以下 php 代码,
<?php
$subject_set = mysqli_query($db_link, 'SELECT * FROM subjects');
if(!$subject_set){
die("Database subjects query failed: ".mysql_error());
}
while ($subject=mysqli_fetch_array($subject_set)) {
echo "<li>{$subject["menu_name"]}</li>";
$page_set = mysqli_query($db_link, 'SELECT * FROM pages WHERE subject_id= {$subject["id"]}');
// $page_set = mysqli_query($db_link, 'SELECT * FROM pages WHERE subject_id='.$subject["id"]);
if(!$page_set){
die("Database pages query failed: ".mysql_error());
}
echo "<ul class=\"pages\">";
while ($page=mysqli_fetch_array($page_set)) {
echo "<li>{$page["menu_name"]}</li>";
}
echo "</ul>";
}
?>
当我运行这段代码时,当我得到 'page_set' 值时,它会给我一个错误。在行中 $page_set = mysqli_query($db_link, 'SELECT * FROM pages WHERE subject_id= {$subject["id"] }');
但是我使用注释行而不是上面的行代码工作正常。此外,mysql_error()
没有向我显示错误。
最佳答案
http://docs.php.net/language.types.string说
Note: Unlike the double-quoted and heredoc syntaxes, variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.
关于php - php中mysql查询中的内联变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33627791/