使用pdo 的预处理连接数据库的时候报Fatal error: Cannot pass parameter 2 by reference in
原来的主要代码如下:
prepare(" select l.linkid,l.linkname,l.linkurl,l.isdisplay from myboblog_links l where l.isdisplay=:isdisplay order by l.linkorder limit 0,9");
$stmtLink->bindParam(':isdisplay',"1", PDO::PARAM_INT);
/*** execute the prepared statement ***/
$stmtLink->execute();
/*** fetch the results ***/
$resultLink = $stmtLink->fetchAll();
修改后的代码如下:
prepare(" select l.linkid,l.linkname,l.linkurl,l.isdisplay from myboblog_links l where l.isdisplay=:isdisplay order by l.linkorder limit 0,9");
$isdisplay = 1;
$stmtLink->bindParam(':isdisplay',$isdisplay , PDO::PARAM_INT);
/*** execute the prepared statement ***/
$stmtLink->execute();
/*** fetch the results ***/
$resultLink = $stmtLink->fetchAll();
原因:
php pdo prepare-Cannot-pass-parameter-2-by-reference
这个错误的意思是不能按引用传递第2个参数
出现这个错误的原因是bind_param()方法里的除表示数据类型的第一个参数外,
均需要用变量,而不能用直接量,因为其它参数都是按引用传递的