georg Fri Feb 14 13:17:25 2003 EDT Modified files: /php4/ext/mysqli mysqli_api.c Log: fixed a bug in mysqli_fetch removed c++ comment (thx to Jani :) fixed compiler warning Index: php4/ext/mysqli/mysqli_api.c diff -u php4/ext/mysqli/mysqli_api.c:1.6 php4/ext/mysqli/mysqli_api.c:1.7 --- php4/ext/mysqli/mysqli_api.c:1.6 Fri Feb 14 11:49:09 2003 +++ php4/ext/mysqli/mysqli_api.c Fri Feb 14 13:17:25 2003 @@ -15,7 +15,7 @@ | Author: Georg Richter <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: mysqli_api.c,v 1.6 2003/02/14 16:49:09 iliaa Exp $ + $Id: mysqli_api.c,v 1.7 2003/02/14 18:17:25 georg Exp $ */ #ifdef HAVE_CONFIG_H @@ -282,6 +282,8 @@ case MYSQL_TYPE_LONGLONG: stmt->bind[ofs].type = IS_STRING; + + /* TODO: change and check buflen when bug #74 is fixed +*/ stmt->bind[ofs].buflen = sizeof(my_ulonglong); stmt->bind[ofs].buffer = (char *)emalloc(stmt->bind[ofs].buflen); bind[ofs].buffer_type = MYSQL_TYPE_LONGLONG; @@ -298,7 +300,7 @@ case MYSQL_TYPE_BLOB: case MYSQL_TYPE_TIMESTAMP: stmt->bind[ofs].type = IS_STRING; - stmt->bind[ofs].buflen = (stmt->stmt->fields) ? stmt->stmt->fields[ofs].length + 1: 250; + stmt->bind[ofs].buflen = (stmt->stmt->fields) ? +stmt->stmt->fields[ofs].length + 1: 256; stmt->bind[ofs].buffer = (char *)emalloc(stmt->bind[ofs].buflen); bind[ofs].buffer_type = MYSQL_TYPE_STRING; bind[ofs].buffer = stmt->bind[ofs].buffer; @@ -307,7 +309,6 @@ bind[ofs].length = &stmt->bind[ofs].buflen; break; } -// bind[ofs].length = &stmt->bind[ofs].buflen; } if (mysql_bind_result(stmt->stmt, bind)) { @@ -598,7 +599,7 @@ } /* }}} */ -/* {{{ proto bool mysqli_fetch(resource stmt) +/* {{{ proto int mysqli_fetch(resource stmt) */ PHP_FUNCTION(mysqli_fetch) { @@ -622,39 +623,38 @@ } if (!(ret = mysql_fetch(stmt->stmt))) { - RETURN_FALSE; - } - for (i = 0; i < stmt->var_cnt; i++) { - if (!stmt->is_null[i]) { - switch (stmt->bind[i].type) { - case IS_LONG: - stmt->vars[i]->type = IS_LONG; - break; - case IS_DOUBLE: - stmt->vars[i]->type = IS_DOUBLE; - break; - case IS_STRING: - if (stmt->stmt->bind[i].buffer_type == MYSQL_TYPE_LONGLONG) { - char tmp[50]; - my_ulonglong lval; - memcpy (&lval, stmt->bind[i].buffer, sizeof(my_ulonglong)); - if (lval != (long)lval) { - sprintf((char *)&tmp, "%lld", lval); - ZVAL_STRING(stmt->vars[i], tmp, 1); + for (i = 0; i < stmt->var_cnt; i++) { + if (!stmt->is_null[i]) { + switch (stmt->bind[i].type) { + case IS_LONG: + stmt->vars[i]->type = IS_LONG; + break; + case IS_DOUBLE: + stmt->vars[i]->type = IS_DOUBLE; + break; + case IS_STRING: + if (stmt->stmt->bind[i].buffer_type == +MYSQL_TYPE_LONGLONG) { + char tmp[50]; + my_ulonglong lval; + memcpy (&lval, +stmt->bind[i].buffer, sizeof(my_ulonglong)); + if (lval != (long)lval) { + sprintf((char *)&tmp, +"%lld", lval); + +ZVAL_STRING(stmt->vars[i], tmp, 1); + } else { + +ZVAL_LONG(stmt->vars[i], lval); + } } else { - ZVAL_LONG(stmt->vars[i], lval); + stmt->bind[i].type = IS_STRING; + ZVAL_STRING(stmt->vars[i], +stmt->bind[i].buffer, 1); } - } else { - stmt->bind[i].type = IS_STRING; - ZVAL_STRING(stmt->vars[i], stmt->bind[i].buffer, 1); - } - break; - default: - break; + break; + default: + break; + } + } else { + stmt->vars[i]->type = IS_NULL; } - } else { - stmt->vars[i]->type = IS_NULL; } } @@ -1266,7 +1266,7 @@ if (mysql_real_connect(mysql,hostname,username,passwd,dbname,port,socket,flags) == NULL) { /* Save error messages */ - php_mysqli_set_error(mysql_errno(mysql), mysql_error(mysql) TSRMLS_CC); + php_mysqli_set_error(mysql_errno(mysql), (char *)mysql_error(mysql) +TSRMLS_CC); php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", mysql_error(mysql)); RETURN_FALSE;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php