{
MYSQL *mysql;
zval *mysql_link;
- my_ulonglong rc;
- char ret[40];
+ my_ulonglong rc;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
return;
MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link");
rc = mysql_affected_rows(mysql);
- if (rc != (long)rc) {
- sprintf((char *)&ret, "%llu", rc);
- RETURN_STRING(ret,1);
- }
- RETURN_LONG(rc);
+ MYSQLI_RETURN_LONG_LONG(rc);
}
/* }}} */
my_ulonglong lval;
memcpy (&lval, stmt->bind[i].buffer, sizeof(my_ulonglong));
if (lval != (long)lval) {
- sprintf((char *)&tmp, "%lld", lval);
+ sprintf((char *)&tmp, "%llu", lval);
ZVAL_STRING(stmt->vars[i], tmp, 1);
} else {
ZVAL_LONG(stmt->vars[i], lval);
PHP_FUNCTION(mysqli_insert_id)
{
MYSQL *mysql;
- my_ulonglong rc;
- char ret[50];
+ my_ulonglong rc;
zval *mysql_link;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
}
MYSQLI_FETCH_RESOURCE(mysql, MYSQL *, &mysql_link, "mysqli_link");
rc = mysql_insert_id(mysql);
-
- if (rc != (long)rc) {
- sprintf((char *)&ret, "%llu", rc);
- RETURN_STRING(ret,1);
- }
- RETURN_LONG(rc);
+ MYSQLI_RETURN_LONG_LONG(rc)
}
/* }}} */
{
STMT *stmt;
zval *mysql_stmt;
- my_ulonglong rc;
- char ret[50];
+ my_ulonglong rc;
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {
return;
MYSQLI_FETCH_RESOURCE(stmt, STMT *, &mysql_stmt, "mysqli_stmt");
rc = mysql_stmt_affected_rows(stmt->stmt);
- if (rc != (long)rc) {
- sprintf((char *)&ret, "%llu", rc);
- RETURN_STRING(ret, 1);
- }
-
- RETURN_LONG(rc);
+ MYSQLI_RETURN_LONG_LONG(rc)
}
/* }}} */
intern->ptr = NULL; \
}
+#define MYSQLI_RETURN_LONG_LONG(__val) \
+{ \
+ if ((__val) < LONG_MAX) { \
+ RETURN_LONG((__val)); \
+ } else { \
+ char ret[40]; \
+ sprintf(ret, "%llu", (__val)); \
+ RETURN_STRING(ret,1); \
+ } \
+}
+
#define MYSQLI_STORE_RESULT 0
#define MYSQLI_USE_RESULT 1