summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSjoerd Maessen <github@sjoerdmaessen.nl>2020-01-09 18:40:56 +0100
committerGitHub <noreply@github.com>2020-01-09 18:40:56 +0100
commit107a332703e775774f3c2e2bd5203616d4d50e04 (patch)
tree70756b47880891ec99cd93b7db30801632fb89f0
parent352eec391f862f4502a3023207da961429781def (diff)
parent453e6d66b4f462bc0b138db57fc5be789ac7b54e (diff)
downloadphp-mysql-mysqli-wrapper-107a332703e775774f3c2e2bd5203616d4d50e04.zip
php-mysql-mysqli-wrapper-107a332703e775774f3c2e2bd5203616d4d50e04.tar.gz
php-mysql-mysqli-wrapper-107a332703e775774f3c2e2bd5203616d4d50e04.tar.bz2
Merge pull request #2 from futureweb/patch-1
Update mysql.php
-rw-r--r--mysql.php58
1 files changed, 39 insertions, 19 deletions
diff --git a/mysql.php b/mysql.php
index 9644cd9..287c1a1 100644
--- a/mysql.php
+++ b/mysql.php
@@ -220,16 +220,19 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) {
}
/**
- * Not implemented
+ * Adjusts the result pointer to an arbitrary row in the result
*
- * @todo implement
- *
- * @return null
+ * @param $result
+ * @param $row
+ * @param int $field
+ * @return bool
*/
- function mysql_db_name()
+ function mysql_db_name(mysqli_result $result, $row, $field=null)
{
- trigger_error('The function mysql_db_name() is not implemented', E_USER_WARNING);
- return false;
+ mysqli_data_seek($result,$row);
+ $f = mysqli_fetch_row($result);
+
+ return $f[0];
}
/**
@@ -406,13 +409,15 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) {
* Get table name of field
*
* @param $result
- * @param $i
+ * @param $row
* @return bool
*/
- function mysql_tablename($result, $i)
+ function mysql_tablename(mysqli_result $result, $row)
{
- trigger_error('Not implemented', E_USER_WARNING);
- return false;
+ mysqli_data_seek($result, $row);
+ $f = mysqli_fetch_array($result);
+
+ return $f[0];
}
/**
@@ -497,8 +502,8 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) {
*/
function mysql_field_len(mysqli_result $result, $field_offset = 0)
{
- trigger_error('This function is not implemented', E_USER_WARNING);
- return false;
+ $fieldInfo = mysqli_fetch_field_direct($result, $field_offset);
+ return $fieldInfo->length;
}
/**
@@ -642,17 +647,32 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) {
/**
* Get the flags associated with the specified field in a result
*
- * @todo implement
+ * credit to Dave Smith from phpclasses.org, andre at koethur dot de from php.net and NinjaKC from stackoverflow.com
*
* @param mysqli_result $result
* @param int $field_offset
* @return bool
*/
- function mysql_field_flags(mysqli_result $result, $field_offset = 0)
- {
- trigger_error('This function is not implemented', E_USER_WARNING);
- return false;
- }
+ function mysql_field_flags(mysqli_result $result , $field_offset = 0)
+ {
+ $flags_num = mysqli_fetch_field_direct($result,$field_offset)->flags;
+
+ if (!isset($flags))
+ {
+ $flags = array();
+ $constants = get_defined_constants(true);
+ foreach ($constants['mysqli'] as $c => $n) if (preg_match('/MYSQLI_(.*)_FLAG$/', $c, $m)) if (!array_key_exists($n, $flags)) $flags[$n] = $m[1];
+ }
+
+ $result = array();
+ foreach ($flags as $n => $t) if ($flags_num & $n) $result[] = $t;
+
+ $return = implode(' ', $result);
+ $return = str_replace('PRI_KEY','PRIMARY_KEY',$return);
+ $return = strtolower($return);
+
+ return $return;
+ }
/**
* Set result pointer to a specified field offset