diff options
author | Sjoerd Maessen <github@sjoerdmaessen.nl> | 2020-01-09 18:58:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-09 18:58:36 +0100 |
commit | 20b54d70754f3356fa00aeaff09fa1004c8b08c2 (patch) | |
tree | c4aa7b97646ed7c0868ae1b47e3b8c6e488ecfad | |
parent | 31eb7d201e04eacf0222b00a8e9add0fbca4ff90 (diff) | |
parent | 107a332703e775774f3c2e2bd5203616d4d50e04 (diff) | |
download | php-mysql-mysqli-wrapper-20b54d70754f3356fa00aeaff09fa1004c8b08c2.zip php-mysql-mysqli-wrapper-20b54d70754f3356fa00aeaff09fa1004c8b08c2.tar.gz php-mysql-mysqli-wrapper-20b54d70754f3356fa00aeaff09fa1004c8b08c2.tar.bz2 |
Merge branch 'master' into mysql-select-db
-rw-r--r-- | mysql.php | 86 |
1 files changed, 57 insertions, 29 deletions
@@ -30,7 +30,7 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) { define('MYSQL_BOTH', MYSQLI_BOTH); // Will contain the link identifier - $link = null; + $__MYSQLI_WRAPPER_LINK = null; /** * Get the link identifier @@ -41,8 +41,8 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) { function getLinkIdentifier(mysqli $mysqli = null) { if (!$mysqli) { - global $link; - $mysqli = $link; + global $__MYSQLI_WRAPPER_LINK; + $mysqli = $__MYSQLI_WRAPPER_LINK; } return $mysqli; @@ -58,10 +58,10 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) { */ function mysql_connect($server, $username, $password, $new_link = false, $client_flags = 0) { - global $link; + global $__MYSQLI_WRAPPER_LINK; - $link = mysqli_connect($server, $username, $password); - return $link; + $__MYSQLI_WRAPPER_LINK = mysqli_connect($server, $username, $password); + return $__MYSQLI_WRAPPER_LINK; } /** @@ -74,10 +74,10 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) { */ function mysql_pconnect($server, $username, $password, $new_link = false, $client_flags = 0) { - global $link; + global $__MYSQLI_WRAPPER_LINK; - $link = mysqli_connect('p:' . $server, $username, $password); - return $link; + $__MYSQLI_WRAPPER_LINK = mysqli_connect('p:' . $server, $username, $password); + return $__MYSQLI_WRAPPER_LINK; } /** @@ -108,7 +108,15 @@ if (!extension_loaded('mysql') && !function_exists('mysql_connect')) { { return getLinkIdentifier($mysqli)->escape_string($string); } - + + /** + * @param $string + * @return string + */ + function mysql_escape_string($string) + { + return mysql_real_escape_string($string); + } /** * @param mysqli_result $result * @return bool|array @@ -210,16 +218,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]; } /** @@ -396,13 +407,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]; } /** @@ -487,8 +500,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; } /** @@ -632,17 +645,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 |