MysqL 扩展:
未在积极开发中
被的PHP 5.5(发布2013年6月)。
自 PHP 7.0起
(2015 年 12 月发布)
这意味着截至 2018 年 12 月 31 日,它不存在于任何受支持的 PHP 版本中。如果您使用的 PHP 版本支持它,那么您使用的版本没有修复安全问题。
缺少 OO 接口
不支持:
非阻塞、异步查询
由于它已被弃用,因此使用它会使您的代码不那么具有前瞻性。
缺少对准备好的语句的支持尤其重要,因为与使用单独的函数调用手动转义外部数据相比,它们提供了一种更清晰、更不容易出错的转义和引用外部数据的方法。
可以MysqL_*
使用 MysqLi 或 PDO定义几乎所有函数。只需将它们包含在旧的 PHP 应用程序之上,它就可以在 PHP7 上运行。
<?PHP
define('MysqL_LINK', 'dbl');
$GLOBALS[MysqL_LINK] = null;
function MysqL_link($link=null) {
return ($link === null) ? $GLOBALS[MysqL_LINK] : $link;
}
function MysqL_connect($host, $user, $pass) {
$GLOBALS[MysqL_LINK] = MysqLi_connect($host, $user, $pass);
return $GLOBALS[MysqL_LINK];
}
function MysqL_pconnect($host, $user, $pass) {
return MysqL_connect($host, $user, $pass);
}
function MysqL_select_db($db, $link=null) {
$link = MysqL_link($link);
return MysqLi_select_db($link, $db);
}
function MysqL_close($link=null) {
$link = MysqL_link($link);
return MysqLi_close($link);
}
function MysqL_error($link=null) {
$link = MysqL_link($link);
return MysqLi_error($link);
}
function MysqL_errno($link=null) {
$link = MysqL_link($link);
return MysqLi_errno($link);
}
function MysqL_ping($link=null) {
$link = MysqL_link($link);
return MysqLi_ping($link);
}
function MysqL_stat($link=null) {
$link = MysqL_link($link);
return MysqLi_stat($link);
}
function MysqL_affected_rows($link=null) {
$link = MysqL_link($link);
return MysqLi_affected_rows($link);
}
function MysqL_client_encoding($link=null) {
$link = MysqL_link($link);
return MysqLi_character_set_name($link);
}
function MysqL_thread_id($link=null) {
$link = MysqL_link($link);
return MysqLi_thread_id($link);
}
function MysqL_escape_string($string) {
return MysqL_real_escape_string($string);
}
function MysqL_real_escape_string($string, $link=null) {
$link = MysqL_link($link);
return MysqLi_real_escape_string($link, $string);
}
function MysqL_query($sql, $link=null) {
$link = MysqL_link($link);
return MysqLi_query($link, $sql);
}
function MysqL_unbuffered_query($sql, $link=null) {
$link = MysqL_link($link);
return MysqLi_query($link, $sql, MysqLI_USE_RESULT);
}
function MysqL_set_charset($charset, $link=null){
$link = MysqL_link($link);
return MysqLi_set_charset($link, $charset);
}
function MysqL_get_host_info($link=null) {
$link = MysqL_link($link);
return MysqLi_get_host_info($link);
}
function MysqL_get_proto_info($link=null) {
$link = MysqL_link($link);
return MysqLi_get_proto_info($link);
}
function MysqL_get_server_info($link=null) {
$link = MysqL_link($link);
return MysqLi_get_server_info($link);
}
function MysqL_info($link=null) {
$link = MysqL_link($link);
return MysqLi_info($link);
}
function MysqL_get_client_info() {
$link = MysqL_link();
return MysqLi_get_client_info($link);
}
function MysqL_create_db($db, $link=null) {
$link = MysqL_link($link);
$db = str_replace('`', '', MysqLi_real_escape_string($link, $db));
return MysqLi_query($link, "CREATE DATABASE `$db`");
}
function MysqL_drop_db($db, $link=null) {
$link = MysqL_link($link);
$db = str_replace('`', '', MysqLi_real_escape_string($link, $db));
return MysqLi_query($link, "DROP DATABASE `$db`");
}
function MysqL_list_dbs($link=null) {
$link = MysqL_link($link);
return MysqLi_query($link, "SHOW DATABASES");
}
function MysqL_list_fields($db, $table, $link=null) {
$link = MysqL_link($link);
$db = str_replace('`', '', MysqLi_real_escape_string($link, $db));
$table = str_replace('`', '', MysqLi_real_escape_string($link, $table));
return MysqLi_query($link, "SHOW COLUMNS FROM `$db`.`$table`");
}
function MysqL_list_tables($db, $link=null) {
$link = MysqL_link($link);
$db = str_replace('`', '', MysqLi_real_escape_string($link, $db));
return MysqLi_query($link, "SHOW TABLES FROM `$db`");
}
function MysqL_db_query($db, $sql, $link=null) {
$link = MysqL_link($link);
MysqLi_select_db($link, $db);
return MysqLi_query($link, $sql);
}
function MysqL_fetch_row($qlink) {
return MysqLi_fetch_row($qlink);
}
function MysqL_fetch_assoc($qlink) {
return MysqLi_fetch_assoc($qlink);
}
function MysqL_fetch_array($qlink, $result=MysqLI_BOTH) {
return MysqLi_fetch_array($qlink, $result);
}
function MysqL_fetch_lengths($qlink) {
return MysqLi_fetch_lengths($qlink);
}
function MysqL_insert_id($qlink) {
return MysqLi_insert_id($qlink);
}
function MysqL_num_rows($qlink) {
return MysqLi_num_rows($qlink);
}
function MysqL_num_fields($qlink) {
return MysqLi_num_fields($qlink);
}
function MysqL_data_seek($qlink, $row) {
return MysqLi_data_seek($qlink, $row);
}
function MysqL_field_seek($qlink, $offset) {
return MysqLi_field_seek($qlink, $offset);
}
function MysqL_fetch_object($qlink, $class="stdClass", array $params=null) {
return ($params === null)
? MysqLi_fetch_object($qlink, $class)
: MysqLi_fetch_object($qlink, $class, $params);
}
function MysqL_db_name($qlink, $row, $field='Database') {
MysqLi_data_seek($qlink, $row);
$db = MysqLi_fetch_assoc($qlink);
return $db[$field];
}
function MysqL_fetch_field($qlink, $offset=null) {
if ($offset !== null)
MysqLi_field_seek($qlink, $offset);
return MysqLi_fetch_field($qlink);
}
function MysqL_result($qlink, $offset, $field=0) {
if ($offset !== null)
MysqLi_field_seek($qlink, $offset);
$row = MysqLi_fetch_array($qlink);
return (!is_array($row) || !isset($row[$field]))
? false
: $row[$field];
}
function MysqL_field_len($qlink, $offset) {
$field = MysqLi_fetch_field_direct($qlink, $offset);
return is_object($field) ? $field->length : false;
}
function MysqL_field_name($qlink, $offset) {
$field = MysqLi_fetch_field_direct($qlink, $offset);
if (!is_object($field))
return false;
return empty($field->orgname) ? $field->name : $field->orgname;
}
function MysqL_field_table($qlink, $offset) {
$field = MysqLi_fetch_field_direct($qlink, $offset);
if (!is_object($field))
return false;
return empty($field->orgtable) ? $field->table : $field->orgtable;
}
function MysqL_field_type($qlink, $offset) {
$field = MysqLi_fetch_field_direct($qlink, $offset);
return is_object($field) ? $field->type : false;
}
function MysqL_free_result($qlink) {
try {
MysqLi_free_result($qlink);
} catch (Exception $e) {
return false;
}
return true;
}