如何用MySQLI多次绑定param?

jon*_*ham 5 php mysql binding mysqli param

这就是我绑定我的params的方式:

$Con = mysqli_connect(...);
$Statement = mysqli_stmt_init($Con);

mysqli_stmt_prepare($Statement,"select * from users where name=? and email=?");
mysqli_stmt_bind_param("s",$Username);
mysqli_stmt_bind_param("s",$Email); <-- it fails here
Run Code Online (Sandbox Code Playgroud)

但是当我用以下方法替换对mysqli_stmt_bind_param的2次调用时,它在其他情况下工作正常:

mysql_stmt_bind_param("ss",$Username,$Email)
Run Code Online (Sandbox Code Playgroud)

问题是我有一系列的参数; 我必须逐个绑定它们因为我不知道params的数量

Jel*_*lly 5

您的方法不起作用,因为正确使用mysqli_stmt_bind_param的正确方法如下:

mysql_stmt_bind_param("ss",$Username,$Email)
Run Code Online (Sandbox Code Playgroud)

refs:http://php.net/manual/en/mysqli-stmt.bind-param.php

知道参数的数量使得count()数组.


You*_*nse -2

有点离题,但我觉得它足够重要。

mysql_stmt_bind_param 手册页中最近的用户评论包含了这个问题的确切答案。

你看,这个网站虽然鼓励懒惰,但并不总是比旧的谷歌和手册更好地回答你的问题。