diff options
author | Sjoerd Maessen <github@sjoerdmaessen.nl> | 2020-01-09 18:40:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-09 18:40:56 +0100 |
commit | 107a332703e775774f3c2e2bd5203616d4d50e04 (patch) | |
tree | 70756b47880891ec99cd93b7db30801632fb89f0 | |
parent | 352eec391f862f4502a3023207da961429781def (diff) | |
parent | 453e6d66b4f462bc0b138db57fc5be789ac7b54e (diff) | |
download | php-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.php | 58 |
1 files changed, 39 insertions, 19 deletions
@@ -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 |