本文整理汇总了C++中MySQLResult::setAsyncConnection方法的典型用法代码示例。如果您正苦于以下问题:C++ MySQLResult::setAsyncConnection方法的具体用法?C++ MySQLResult::setAsyncConnection怎么用?C++ MySQLResult::setAsyncConnection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MySQLResult
的用法示例。
在下文中一共展示了MySQLResult::setAsyncConnection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: f_mysql_async_query_result
Variant f_mysql_async_query_result(CVarRef link_identifier) {
MySQL* mySQL = MySQL::Get(link_identifier);
if (!mySQL) {
raise_warning("supplied argument is not a valid MySQL-Link resource");
return Variant(Variant::NullInit());
}
MYSQL* conn = mySQL->get();
if (!conn || (conn->async_op_status != ASYNC_OP_QUERY &&
conn->async_op_status != ASYNC_OP_UNSET)) {
raise_warning("runtime/ext_mysql: attempt to check query result when query "
"not executing");
return Variant(Variant::NullInit());
}
int error = 0;
auto status = mysql_real_query_nonblocking(
conn, mySQL->m_async_query.data(), mySQL->m_async_query.size(), &error);
if (status != NET_ASYNC_COMPLETE) {
return Variant(Variant::NullInit());
}
if (error) {
return Variant(Variant::NullInit());
}
mySQL->m_async_query.reset();
MYSQL_RES* mysql_result = mysql_use_result(conn);
MySQLResult *r = NEWOBJ(MySQLResult)(mysql_result);
r->setAsyncConnection(mySQL);
Resource ret(r);
return ret;
}