【发布时间】:2016-03-05 09:12:31
【问题描述】:
我有一个这样的代码 sn-p:
$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()' 等。
tl;博士;
如何将准备好的语句记录为参数,因为\mysqli_stmt 对于 PHPStorm 来说是不够的。
【问题讨论】:
-
需要更好(更完整)的示例。对我来说(至少)不清楚这里到底需要什么(上下文和问题是什么)。
-
你的意思是自动完成吗?如果是这样 ` /** * @param \mysqli_stmt $statement */ public function foo(\mysqli_stmt $statement) { }` 为我工作
-
在 PHPDoc 中将
$data更改为$pstmt。