我编写了一个代码,用于构建一个扩展,通过mysql_connect
连接到mysql数据库。
我的代码是经过编译的,但是当我想在PHP中使用我的函数时,它需要一个循环而不能正常工作。 这是我的C ++代码:
PHP_FUNCTION(ig_connect_to_database)
{
zval fname, *args[3], *retval = NULL;
ZVAL_STRING(&fname, "mysql_connect", 0);
MAKE_STD_ZVAL(args[0]);
ZVAL_STRING(args[0], "localhost", 1);
MAKE_STD_ZVAL(args[1]);
ZVAL_STRING(args[1], "root", 1);
MAKE_STD_ZVAL(args[2]);
ZVAL_STRING(args[2], "", 1);
if (call_user_function(EG(function_table), NULL, &fname, retval, 3, args TSRMLS_CC) == SUCCESS) {
zval_ptr_dtor(&retval);
zval_ptr_dtor(&args[1]);
zval_ptr_dtor(&args[0]);
}
}
任何人都可以帮助我吗?
我只想返回我的资源连接。
我知道" retval"是myresource但我不知道如何将此资源返回到我的PHP代码中。
答案 0 :(得分:0)
如果我回答我的问题,我不知道是否属实,但我的问题已通过此代码解决:
*return_value = retval;
zval_copy_ctor(return_value);