Переписувати код в PHP 7.0 і вище
Для того, щоб методи класу залишалися робітними.Декілька рядків з коду:
Клас ДБІ
{ {
#Class Properties опис
var $dbh, # database link handler
$sth, # Resource handler
$errno, # database error number
$errmsg, # database error message
$host і #host
$user, # user name / ім'я користувача
$pass, # пароль
$database, # базова назва
$q, # query text
$log_file = '', # Log FileName, if empty - no loging mysqlog.txt
$time_limit = 1.5; # Log only querys above this time
Підключити до сервера і вибрати базу даних
функція connect($host="",$user="",$pass="", $database="")
{ {
error_reporting (!E_WARNING) – це попередження
$this->dbh=mysql_connect($host,$user,$pass);# or $this->GetError("Connection failed");
if (!$this->dbh){
echo "На сервері ведуться технічні роботи.Вибачте за неприємність.«;вихідний;
повернення фальсифікації;
Еліс
error_reporting(E_ALL і ~E_NOTICE);
mysql_select_db($database) or $this->GetError("Database selection failed");
$this->database = $база даних
повернення правди;
## set auto_recoding from cp1251 to koi8ukr
функція cp1251_koi8(){
$this->query("set option character set cp1251_koi8");
І т.д.
Відгук замовника про співпрацю з Анатолиєм Демченком
Переписувати код в PHP 7.0 і вищеДякую вам. Дуже швидко . Будемо ще обговорювати.
Відгук фрилансера про співпрацю з Алексеєм Митрошиним
Переписувати код в PHP 7.0 і вищеЗ Алексеєм приємно мати справу - все, що потрібно, дав. Швидко перевірив і оплатив. Рекомендую !
-
<?
class DBI
{
## Class properties description
var $dbh, # database link handler
$sth, # resource handler
$errno, # database error number
$errmsg, # database error message
$host, # host
$user, # user name
$pass, # password
$database, # database name
$q, # query text
$log_file = '', # Log FileName, if empty - no loging mysqlog.txt
$time_limit = 1.5; # Log only querys above this time
#@@@ PUBLIC METHODS @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
### Connect to server and select database
function connect($host="",$user="",$pass="", $database="")
{
error_reporting(!E_WARNING);
$this->dbh=mysql_connect($host,$user,$pass);# or $this->GetError("Connection failed");
if (!$this->dbh){
echo "На сервере ведутся технические работы. Извините за доставленное неудобство.";
exit;
return false;
}else{
error_reporting(E_ALL & ~E_NOTICE);
mysql_select_db($database) or $this->GetError("Database selection failed");
$this->database = $database;
return true;
}
}
## set auto_recoding from cp1251 to koi8ukr
function cp1251_koi8(){
$this->query("set option character set cp1251_koi8");
}
## set auto_recoding to default
function to_default(){
$this->query("set option character set DEFAULT");
}
### Send query
function query($query="", $debug_query = 0){
global $debug_query;
if(!$query){
echo "DB class error: [No query parameter]";
$this->close();
exit;
}
if($debug_query){
//echo "<pre>".$query."</pre>";
echo $query."<br>---<br>";
}
$this->q = $query;
$page_parse_time_start = microtime();
if($query)
$this->sth = mysql_query($query, $this->dbh) or $this->GetError("Query error");
if ($_SERVER['REQUEST_URI'] and $this->log_file)
$tmp = explode('.',$_SERVER['REQUEST_URI']);
if($this->log_file && !in_array(strtolower($tmp[count($tmp)-1]),array('jpg', 'png', 'gif'))){
$time_start = explode(' ', $page_parse_time_start);
$time_end = explode(' ', microtime());
$time_int = $time_end[1] + $time_end[0] - ($time_start[1] + $time_start[0]);
if($time_int > $this->time_limit){
$parse_time = number_format($time_int, 3);
###### лог запросов в файл #########
$query = ereg_replace("\r", "", $query);
$query = ereg_replace("\n", " ", $query);
global $ROOT_DIRECTORY, $HTTP_AFTER, $domain;
$fp = fopen($ROOT_DIRECTORY.$this->log_file, "a+");
fwrite($fp, date(" H:i:s")." ".$parse_time." ".$_SERVER['REMOTE_ADDR']." ".($domain ? $domain.'.'.$HTTP_AFTER : $_SERVER['SERVER_NAME']).$_SERVER['REQUEST_URI']." ".session_id()." ".$query."\n");
fclose($fp);
####################################
}
}
return $this->sth;
}
### Return number of result rows of last SELECT QUERY
function num_rows($linkno=0)
//$linkno - number of link resource (default = 0)
{
if (!$this->sth && !$linkno){ ## IF NO RESOURCE
echo "No performed SELECT query: [Invalid resource link]";
exit;
}
$num=mysql_num_rows($linkno ? $linkno : $this->sth);
return $num;
}
### Return number of affected rows of performed query
function affected_rows()
//$linkno - number of link resource (default = 0)
{
$num=mysql_affected_rows();
return $num;
}
### Fetch row as array
function fetch_row($linkno=0)
//$linkno - number of link resource (default = 0)
{
//echo $linkno;
return mysql_fetch_row($linkno ? $linkno : $this->sth);
}
### Fetch row as ac array
function fetch_array($linkno=0)
//$linkno - number of link resource (default = 0)
{
return mysql_fetch_array($linkno ? $linkno : $this->sth);
}
### Fetch row as hash
function fetch_hash($linkno=0)
//$linkno - number of link resource (default = 0)
{
return mysql_fetch_assoc($linkno ? $linkno : $this->sth);
}
### Data seek; Move result pointer to the row $row, by default 0
function seek($row=0, $linkno=0)
//$linkno - number of link resource (default = 0)
{
return mysql_data_seek($linkno ? $linkno : $this->sth,$row);
}
### Fetch field
function fetch_field($row=0,$field=0, $linkno=0){
//$linkno - number of link resource (default = 0)
$flag=true;
if ($row<0 || $row>=$this->num_rows()){
//echo "Data seek error: [Invalid row offset ($row)]";
return false;
}
if ( (!is_int($field)) || $field<0 || $field>=$this->num_fields()){
echo "Field seek error: [Invalid field offset ($field)]";
exit;
}
return mysql_result($linkno ? $linkno : $this->sth,$row,$field);
}
function last_id(){
return mysql_insert_id($this->dbh);
}
function num_fields($linkno=0){
//$linkno - number of link resource (default = 0)
if (!$this->sth && !$linkno){
echo "Fetch length error: [Invalid resource link]";
exit;
}
return mysql_num_fields($linkno ? $linkno : $this->sth);
}
### Close connection
function close(){
@mysql_close($this->dbh);
}
#@@@ PRIVATE METHODS @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Get database error parameters. Print error, close database connection and terminate
function GetError($hint="")
{
$this->errno=mysql_errno($this->dbh);
$this->errmsg=mysql_error($this->dbh);
$this->close();
$this->q = eregi_replace("select ", "<b>SELECT</b> ", $this->q);
$this->q = eregi_replace("update ", "<b>UPDATE</b> ", $this->q);
$this->q = eregi_replace("insert ", "<b>INSERT</b> ", $this->q);
$this->q = eregi_replace(" from ", "\n<b>FROM</b> ", $this->q);
$this->q = eregi_replace(" left ", "\n<b>LEFT</b> ", $this->q);
$this->q = eregi_replace(" right ", "\n<b>RIGHT</b> ", $this->q);
$this->q = eregi_replace(" join ", " <b>JOIN</b> ", $this->q);
$this->q = eregi_replace(" where ", "\n<b>WHERE</b> ", $this->q);
$this->q = eregi_replace(" order ", "\n<b>ORDER</b> ", $this->q);
$this->q = eregi_replace(" group ", "\n<b>GROUP</b> ", $this->q);
$this->q = eregi_replace(" limit ", "\n<b>LIMIT</b> ", $this->q);
$e = debug_backtrace();
echo '<b>Error</b> in line: <b>'.$e[1]['line'].'</b> [<font color="green">'.$e[1]['file'].'</font>]';
echo '<pre>';
echo $this->q;
echo '</pre>';
echo "<b>$hint.</b> Error #",$this->errno,"<blockquote>",$this->errmsg,"</blockquote>";
exit;
}
}
?>
-
Здравствуйте. Пришлите сам класс.
-
Актуальні фриланс-проєкти в категорії PHP
Модулі для сайта на Laravel
4000 UAH
Модуль доставки та оплати для сайтуhttps://novabook.top/ (Botble CMS / Laravel) Додати в checkout зручні способи доставки та оплати (включаючи розстрочку), за схожим стилем і зручністю подібно до сайту mirson ua.Доставка (обов’язково) Нова Пошта Відділення Поштомат Кур’єр на… Javascript та Typescript, PHP ∙ 9 годин 13 хвилин тому ∙ 18 ставок |
Потрібна інтеграція KeyCRM → ПРРО Кашалот |
Розробка 2 SEO-орієнтованих сайтів з продажу запчастин (квадроцикли та спецтехніка)Розробка двох спеціалізованих сайтів з продажу запчастинЗагальна інформація Потрібно розробити два спеціалізовані сайти: Запчастини для квадроциклів, UTV, SSV та іншої подібної техніки. Запчастини для спеціальної техніки. Існуючий сайт компанії: https://kiaparts.com.ua/ Нові… PHP, Веб-програмування ∙ 4 дні 15 годин тому ∙ 77 ставок |
Розробка веб-сайту WordPress
1002 UAH
|
Парсер expireddomains.net
5000 UAH
Потрібен парсер expireddomains.net на сайті потрібно спочатку залогінитись, проблема в тому що блочить ІР при намаганні парсити дані, потрібно парсити тематичні домени по списку ключових слів, хто не впевнений в своїх силах не пишіть PHP, Веб-програмування ∙ 9 днів 15 годин тому ∙ 53 ставки |