我知道我必须将查询转换为字符串,但在这种情况下,我正在查看目录中的文件,我不知道如何执行此操作。我知道它 ($result) 必须先转换为字符串才能使用它。 $result 只是数据库中的一个 slug 或一个简单条目,代表一个文件夹,因此结构将是projects/$results/files.xxx.....
$result = mysqli_query($conn,"SELECT projectslug FROM projects WHERE ID=". $ID);
//$path = mysqli_fetch_array($result3);
echo '<ul>';
if ($handle = opendir('projects/' . $result)) {
while (false !== ($entry = readdir($handle))) {
if (preg_match('/\.jpg$/', $entry)) {
echo "<li><a href='projects/$result/$entry\n' target=_blank>$entry\n</a></li>";
}
}
closedir($handle);
}
echo "</ul>";
最佳答案
你是对的:
$result = mysqli_query($conn,"SELECT projectslug FROM projects WHERE ID=". $ID);
//$path = mysqli_fetch_array($result3);
为什么要注释掉它?使用 $result
而不是 $result3
,然后您就可以在变量 $path['projetslug']
中获得数据库中的projectslug 值。
$result = mysqli_query($conn,"SELECT projectslug FROM projects WHERE ID=". $ID);
$path = mysqli_fetch_array($result);
if($handle = opendir('projects/'.$path['projectslug']) {...
顺便说一句:如果 $ID
来自 $_POST
或 $_GET
等外部源,我希望您能够对其进行转义。
关于php - 无法将 MySQL 查询转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21577128/