📄 database.php
字号:
<?php
/*
$Id: database.php,v 1.1.1.2 2004/10/09 17:03:37 cvsadmin Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
function osc_db_connect($server, $username, $password, $link = 'db_link') {
global $$link, $db_error;
$db_error = false;
if (!$server) {
$db_error = 'No Server selected.';
return false;
}
$$link = @mysql_connect($server, $username, $password) or $db_error = mysql_error();
return $$link;
}
function osc_db_select_db($database) {
return mysql_select_db($database);
}
function osc_db_close($link = 'db_link') {
global $$link;
return mysql_close($$link);
}
function osc_db_query($query, $link = 'db_link') {
global $$link;
return mysql_query($query, $$link);
}
function osc_db_fetch_array($db_query) {
return mysql_fetch_array($db_query);
}
function osc_db_num_rows($db_query) {
return mysql_num_rows($db_query);
}
function osc_db_data_seek($db_query, $row_number) {
return mysql_data_seek($db_query, $row_number);
}
function osc_db_insert_id() {
return mysql_insert_id();
}
function osc_db_free_result($db_query) {
return mysql_free_result($db_query);
}
function osc_db_test_create_db_permission($database) {
global $db_error;
$db_created = false;
$db_error = false;
if (!$database) {
$db_error = 'No Database selected.';
return false;
}
if (!$db_error) {
if (!@osc_db_select_db($database)) {
$db_created = true;
if (!@osc_db_query('create database ' . $database)) {
$db_error = mysql_error();
}
} else {
$db_error = mysql_error();
}
if (!$db_error) {
if (@osc_db_select_db($database)) {
if (@osc_db_query('create table temp ( temp_id int(5) )')) {
if (@osc_db_query('drop table temp')) {
if ($db_created) {
if (@osc_db_query('drop database ' . $database)) {
} else {
$db_error = mysql_error();
}
}
} else {
$db_error = mysql_error();
}
} else {
$db_error = mysql_error();
}
} else {
$db_error = mysql_error();
}
}
}
if ($db_error) {
return false;
} else {
return true;
}
}
function osc_db_test_connection($database) {
global $db_error;
$db_error = false;
if (!$db_error) {
if (!@osc_db_select_db($database)) {
$db_error = mysql_error();
} else {
if (!@osc_db_query('select count(*) from osc_configuration')) {
$db_error = mysql_error();
}
}
}
if ($db_error) {
return false;
} else {
return true;
}
}
function osc_db_install($database, $sql_file) {
global $db_error;
$db_error = false;
if (!@osc_db_select_db($database)) {
if (@osc_db_query('create database ' . $database)) {
osc_db_select_db($database);
} else {
$db_error = mysql_error();
}
}
if (!$db_error) {
if (file_exists($sql_file)) {
$fd = fopen($sql_file, 'rb');
$restore_query = fread($fd, filesize($sql_file));
fclose($fd);
} else {
$db_error = 'SQL file does not exist: ' . $sql_file;
return false;
}
$sql_array = array();
$sql_length = strlen($restore_query);
$pos = strpos($restore_query, ';');
for ($i=$pos; $i<$sql_length; $i++) {
if ($restore_query[0] == '#') {
$restore_query = ltrim(substr($restore_query, strpos($restore_query, "\n")));
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
continue;
}
if ($restore_query[($i+1)] == "\n") {
for ($j=($i+2); $j<$sql_length; $j++) {
if (trim($restore_query[$j]) != '') {
$next = substr($restore_query, $j, 6);
if ($next[0] == '#') {
// find out where the break position is so we can remove this line (#comment line)
for ($k=$j; $k<$sql_length; $k++) {
if ($restore_query[$k] == "\n") break;
}
$query = substr($restore_query, 0, $i+1);
$restore_query = substr($restore_query, $k);
// join the query before the comment appeared, with the rest of the dump
$restore_query = $query . $restore_query;
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
continue 2;
}
break;
}
}
if ($next == '') { // get the last insert query
$next = 'insert';
}
if ( (eregi('create', $next)) || (eregi('insert', $next)) || (eregi('drop t', $next)) ) {
$next = '';
$sql_array[] = substr($restore_query, 0, $i);
$restore_query = ltrim(substr($restore_query, $i+1));
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
}
}
}
osc_db_query("drop table if exists osc_address_book, osc_address_format, osc_banners, osc_banners_history, osc_categories, osc_categories_description, osc_configuration, osc_configuration_group, osc_counter, osc_counter_history, osc_countries, osc_currencies, osc_customers, osc_customers_basket, osc_customers_basket_attributes, osc_customers_info, osc_languages, osc_manufacturers, osc_manufacturers_info, osc_orders, osc_orders_products, osc_orders_status, osc_orders_status_history, osc_orders_products_attributes, osc_orders_products_download, osc_products, osc_products_attributes, osc_products_attributes_download, osc_prodcts_description, osc_products_options, osc_products_options_values, osc_products_options_values_to_products_options, osc_products_to_categories, osc_reviews, osc_reviews_description, osc_sessions, osc_specials, osc_tax_class, osc_tax_rates, osc_geo_zones, osc_whos_online, osc_zones, osc_zones_to_geo_zones");
for ($i=0; $i<sizeof($sql_array); $i++) {
osc_db_query($sql_array[$i]);
}
} else {
return false;
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -