是否有一种安全的方法可以在预准备语句中使用传递给函数的变量(变量不是用户定义的)?
即:
function select( $table )
{
blah blah
$stmt->prepare( "SELECT * FROM $table WHERE id = ?" );
blah blah
}
我生成了一个包含所有可用表名的函数,如果其中一个与$ table匹配,则返回表名。我认为它被称为硬编码。但我不知道这对我有帮助。基本上我正在尝试使用预准备语句创建插入/更新/选择函数。
答案 0 :(得分:0)
如果在查询中使用它之前将$table
与已知的表名列表进行比较,那应该是非常安全的。下一个最好的方法是将表名包装在刻度标记中,并删除传入的$table
变量值中的任何刻度标记。