Php MySQLi-在bind_参数之后声明变量?

Php MySQLi-在bind_参数之后声明变量?,php,mysql,mysqli,Php,Mysql,Mysqli,这可能是一个完全愚蠢的问题,但我已经看到了几个在将变量放入bind_param后声明变量的示例: 我以前从来没有见过这样做,我所有的编程知识都说我应该事先定义它们。这是一种有效/首选的方式吗 这是可能的,因为绑定的是对所讨论的变量的引用,但我发现它非常糟糕: 它使代码更难读取、维护和调试——变量可以进一步更改,甚至可以在绑定和查询之间调用的其他函数中更改 在声明变量之前绑定它将抛出一条E_通知消息(不,不是这样。干杯@webbiedave) 如果你问我,为了将来的可读性,查询应该在一个地方

这可能是一个完全愚蠢的问题,但我已经看到了几个在将变量放入bind_param后声明变量的示例:


我以前从来没有见过这样做,我所有的编程知识都说我应该事先定义它们。这是一种有效/首选的方式吗

这是可能的,因为绑定的是对所讨论的变量的引用,但我发现它非常糟糕:

  • 它使代码更难读取、维护和调试——变量可以进一步更改,甚至可以在绑定和查询之间调用的其他函数中更改

  • 在声明变量之前绑定它将抛出一条
    E_通知
    消息(不,不是这样。干杯@webbiedave)


如果你问我,为了将来的可读性,查询应该在一个地方构建,然后立即执行。

@Kerry:另外,为了清楚起见,变量不是在绑定后声明的,而是在绑定后赋值的。它的声明发生在函数调用中(因为它是通过引用传递的)。@webbiedave--谢谢。这更有意义,这就是为什么如果它未声明,它会抛出E_NOTICE警告,但当它通过引用传递时,声明它的时间与执行之前的时间无关。