elixer Wed Jan 31 14:04:30 2001 EDT
Modified files:
/php4/ext/mysql php_mysql.c php_mysql.h
Log:
Added the mysql_get_*_info() functions.
# If anyone knows of a version of mysql lower then 3.20.32 that implements
# all 3 of these functions, please change the conditionals.
@- Added mysql_get_client_info(), mysql_get_server_info(),
@ mysql_get_proto_info(), and mysql_get_host_info() functions. (Sean)
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.66 php4/ext/mysql/php_mysql.c:1.67
--- php4/ext/mysql/php_mysql.c:1.66 Wed Jan 31 13:53:29 2001
+++ php4/ext/mysql/php_mysql.c Wed Jan 31 14:04:30 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_mysql.c,v 1.66 2001/01/31 21:53:29 andi Exp $ */
+/* $Id: php_mysql.c,v 1.67 2001/01/31 22:04:30 elixer Exp $ */
/* TODO:
@@ -73,6 +73,10 @@
# endif
#endif
+#if MYSQL_VERSION_ID >= 32032
+#define HAVE_GETINFO_FUNCS
+#endif
+
#if MYSQL_VERSION_ID > 32133 || defined(FIELD_TYPE_TINY)
#define MYSQL_HAS_TINY
#endif
@@ -132,6 +136,12 @@
PHP_FE(mysql_field_type,
NULL)
PHP_FE(mysql_field_flags,
NULL)
PHP_FE(mysql_escape_string,
NULL)
+#ifdef HAVE_GETINFO_FUNCS
+ PHP_FE(mysql_get_client_info,
+ NULL)
+ PHP_FE(mysql_get_host_info,
+ NULL)
+ PHP_FE(mysql_get_proto_info,
+ NULL)
+ PHP_FE(mysql_get_server_info,
+ NULL)
+#endif
/* for downwards compatability */
PHP_FALIAS(mysql, mysql_db_query, NULL)
@@ -689,6 +699,115 @@
}
/* }}} */
+#ifdef HAVE_GETINFO_FUNCS
+
+/* {{{ proto string mysql_get_client_info([int link_identifier])
+ Returns a string that represents the client library version */
+PHP_FUNCTION(mysql_get_client_info)
+{
+ if (ZEND_NUM_ARGS() != 0) {
+ WRONG_PARAM_COUNT;
+ }
+
+ RETURN_STRING(mysql_get_client_info(),1);
+}
+/* }}} */
+
+/* {{{ proto string mysql_get_host_info([int link_identifier])
+ Returns a string describing the type of connection in use, including the
+ server host name */
+PHP_FUNCTION(mysql_get_host_info)
+{
+ zval **mysql_link;
+ int id;
+ MYSQL *mysql;
+ MySLS_FETCH();
+
+ switch(ZEND_NUM_ARGS()) {
+ case 0:
+ id =
+php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
+ CHECK_LINK(id);
+ break;
+ case 1:
+ if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
+ RETURN_FALSE;
+ }
+ id = -1;
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+
+ ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link,
+le_plink);
+
+ RETURN_STRING(mysql_get_host_info(mysql),1);
+}
+/* }}} */
+
+/* {{{ proto int mysql_get_proto_info([int link_identifier])
+ Returns the protocol version used by current connection */
+PHP_FUNCTION(mysql_get_proto_info)
+{
+ zval **mysql_link;
+ int id;
+ MYSQL *mysql;
+ MySLS_FETCH();
+
+ switch(ZEND_NUM_ARGS()) {
+ case 0:
+ id =
+php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
+ CHECK_LINK(id);
+ break;
+ case 1:
+ if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
+ RETURN_FALSE;
+ }
+ id = -1;
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+
+ ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link,
+le_plink);
+
+ RETURN_LONG(mysql_get_proto_info(mysql));
+}
+/* }}} */
+
+/* {{{ proto string mysql_get_server_info([int link_identifier])
+ Returns a string that represents the server version number */
+PHP_FUNCTION(mysql_get_server_info)
+{
+ zval **mysql_link;
+ int id;
+ MYSQL *mysql;
+ MySLS_FETCH();
+
+ switch(ZEND_NUM_ARGS()) {
+ case 0:
+ id =
+php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
+ CHECK_LINK(id);
+ break;
+ case 1:
+ if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
+ RETURN_FALSE;
+ }
+ id = -1;
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+
+ ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link,
+le_plink);
+
+ RETURN_STRING(mysql_get_server_info(mysql),1);
+}
+/* }}} */
+
+#endif
/* {{{ proto int mysql_create_db(string database_name [, int link_identifier])
Create a MySQL database */
Index: php4/ext/mysql/php_mysql.h
diff -u php4/ext/mysql/php_mysql.h:1.16 php4/ext/mysql/php_mysql.h:1.17
--- php4/ext/mysql/php_mysql.h:1.16 Wed Oct 11 11:27:21 2000
+++ php4/ext/mysql/php_mysql.h Wed Jan 31 14:04:30 2001
@@ -17,7 +17,7 @@
*/
-/* $Id: php_mysql.h,v 1.16 2000/10/11 18:27:21 zeev Exp $ */
+/* $Id: php_mysql.h,v 1.17 2001/01/31 22:04:30 elixer Exp $ */
#ifndef PHP_MYSQL_H
#define PHP_MYSQL_H
@@ -76,6 +76,10 @@
PHP_FUNCTION(mysql_field_type);
PHP_FUNCTION(mysql_field_flags);
PHP_FUNCTION(mysql_escape_string);
+PHP_FUNCTION(mysql_get_client_info);
+PHP_FUNCTION(mysql_get_host_info);
+PHP_FUNCTION(mysql_get_proto_info);
+PHP_FUNCTION(mysql_get_server_info);
ZEND_BEGIN_MODULE_GLOBALS(mysql)
long default_link;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]