mysqli bind_param中的动态变量绑定 [英] dynamic variables binding in mysqli bind_param
本文介绍了mysqli bind_param中的动态变量绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试下面的代码时,它会警告我
when i try to below code it give me a warning
mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables
$stmt = $mysqli->prepare('SELECT * FROM users WHERE lname = ? AND fname = ?');
$type = "ss";
$param = array("Maq","bool");
$params[] = &$type;
$params[] = &$param;
call_user_func_array( array($stmt, 'bind_param'), $params );
我真的不知道为什么会这样,我在stackoverflow中读了很多相同的标题问题,但是有些问题用逗号分隔类型或需要更多类型,但就我而言,我认为这是正确的,但是为什么我不断收到警告?
i really don't know why its happening i read a lot of same title questions in stackoverflow but some has comma separated types or need more type but in my case i think its proper but why i am keep getting warnings?
推荐答案
$stmt = $mysqli->prepare('SELECT * FROM users WHERE lname = ? AND fname = ?');
$stmt->bind_param('ss', $param[0], $param[1]);
$stmt->execute();
//other version
$stmt = $mysqli->prepare('SELECT * FROM users WHERE lname = ? AND fname = ?');
$type = "ss";
$names = array("Maq", "bool");
$params = array(&$type, &$names[0], &$names[1]);
call_user_func_array(array($stmt, 'bind_param'), $params);
这篇关于mysqli bind_param中的动态变量绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文