在查找文件夹时编写 where 子句


Writing the where clause when looking up a folder?

使用时

$optionquery = "SELECT OptionId FROM Option_Table WHERE (OptionType = ?)";
// Bind parameter for statement
$optionstmt->bind_param("s", $selected_option);

这很好,但是如果我想使用 WHERE 子句在文件夹中查找变量,它应该如何编写?下面是这样的吗?

$optionquery = "SELECT OptionId FROM Option_Table WHERE (OptionType = 'VideoFiles/?')";
// Bind parameter for statement
$optionstmt->bind_param("s", $selected_option);

或者像这样:

$optionquery = "SELECT OptionId FROM Option_Table WHERE (OptionType = ?)";
// Bind parameter for statement
$optionstmt->bind_param("s", 'VideoFiles/$selected_option');

单引号是同时围绕文件夹名称和变量名称,还是只围绕文件夹名称?

你需要使用后者

$optionquery = "SELECT OptionId FROM Option_Table WHERE (OptionType = ?)";
有多种方法

可以引用字符串,以下任一方法都可以:

$optionstmt->bind_param("s", 'VideoFiles/' . $selected_option);
// or
$optionstmt->bind_param("s", "VideoFiles/$selected_option");

但是,将变量放在单引号中'是行不通的。 变量不会转换为其实际值,如果使用单引号,您将在查询中$selected_option文本字符串。