我正在使用 MySQLi 和 PHP 来调用带有准备好的语句的存储 MySQL 例程。它返回一个包含几十列的结果集。
$stmt = $dbconnection->prepare("CALL SomebodysDbProcedure(?);");
$stmt->bind_param("s", $idvalue);
$stmt->execute();
$stmt->bind_result($col1, $col2, $col3, ...);
但是,我只对输出列的一个子集感兴趣。
文档说bind_result()
需要处理完整的返回列集:
请注意,所有列都必须在
mysqli_stmt_execute()
调用之后和之前绑定mysqli_stmt_fetch()
。
我是否还需要为那些我不感兴趣的列添加代码?如果是这样,如果将来扩展 MySQL 存储的例程结果集,甚至重新排列列,应用程序将中断。有解决方法吗?