准备好的陈述的功能

时间:2011-02-26 04:11:35

标签: php prepared-statement

是否有一种安全的方法可以在预准备语句中使用传递给函数的变量(变量不是用户定义的)?

即:

function select( $table )
{
    blah blah

    $stmt->prepare( "SELECT * FROM $table WHERE id = ?" );

    blah blah
}

我生成了一个包含所有可用表名的函数,如果其中一个与$ table匹配,则返回表名。我认为它被称为硬编码。但我不知道这对我有帮助。基本上我正在尝试使用预准备语句创建插入/更新/选择函数。

1 个答案:

答案 0 :(得分:0)

如果在查询中使用它之前将$table与已知的表名列表进行比较,那应该是非常安全的。下一个最好的方法是将表名包装在刻度标记中,并删除传入的$table变量值中的任何刻度标记。