PHP - 如何将预准备语句记录为参数


PHP - How to document a prepared statement as parameter

我有这样的代码片段:

$pstmt = $connection->prepare($sql);
foo($pstmt);

现在我想记录"foo"方法,即需要准备好的语句。

但我只找到'mysqli_stmt类。

开始编辑

"更完整"的示例

$connection = pwm'MySQLHelper::getConnection();
$pstmt = $connection->prepare($sql);
$pstmt->bind_param("s", $fbToken);
toJSON($pstmt);
$pstmt->close();
$connection->close();

现在是toJSON($psm)函数(这是上面的foo($ps)

/**
* @param $data 'mysqli_stmt A prepated statement
*/
function toJSON($pstmt)
{
  $pstmt->execute();
  $result = $pstmt->get_result();
  $rarray = [];
  while ($row = $result->fetch_assoc()) {
      $rarray[] = $row;
  }
  $result->close();
  echo json_encode($rarray);
}

问题是关于PHPDoc的。我找不到与"mysqli_stmt"不同的类,但是使用此代码,PHPStorm 无法识别"execute()","get_result()","fetch_assoc()"和"close()"。我想教PHPStorm,这是一个准备好的声明。

我希望编辑有所帮助。

结束编辑

我正在使用PHPstorm,'mysqli_stmt它无法找到"execute()"等。

博士;

如何将预准备语句记录为参数,因为'mysqli_stmt对于 PHPStorm 来说是不够的。

变量的名称和函数参数的名称不匹配。在 PHPDoc 中,您有$data功能,您有$pstmt。将 PHPDoc 从 $data 更改为 $pstmt 。之后,它应该按预期工作。