Помогите перейти на php 7.x. Денюжку заплачу. Конфиг PHP: <?php $config = array( 'base' => 'localhost', 'server' => 'localhost', 'user' => '', 'pass' => '', 'db' => '', 'run' => 1, ); define('SESSION_BROWSER_SIGN_SECRET', '@w434253254s9'); function getBrowserSign(){ $rawSign = SESSION_BROWSER_SIGN_SECRET; $params = explode('.',$_SERVER['REMOTE_ADDR']); $rawSign .= $params[0].$params[1]; $signParts = array('HTTP_USER_AGENT'); foreach($signParts as $signPart){ $rawSign.= '::'.(isset($_SERVER[$signPart]) ? $_SERVER[$signPart] : 'none'); } return(md5($rawSign)); } date_default_timezone_set('Europe/Moscow'); ?> Коннекты PHP: <?php $db=false; $last_sql_log = ''; define('MYSQL_NOW','asd67kjk*(&86123'); define('MYSQL_INC','asd6asd7kjk*(&86123'); function db($config=false){ global $db; if(!$db){ $db = mysql_connect ($config['server'],$config['user'],$config['pass']) or die('Not connect to SQL server'); mysql_select_db($config['db'],$db) or die('Not connect to SQL database'); mysql_query('SET NAMES UTF8'); } return $db; } function escapeArr($arr){ for($i=1,$n=sizeof($arr);$i<$n;$i++){ $arr[$i] = mysql_real_escape_string($arr[$i]); } return $arr; } function query($s){ global $last_sql_log; if(func_num_args()>1){ $arr = func_get_args(); $s = call_user_func_array('sprintf',escapeArr($arr)); }else if(is_array($s)){ $s = call_user_func_array('sprintf',escapeArr($s)); } $res = mysql_query($s); if($error = mysql_error()) { $last_sql_log = '<div>Query: '.$s.'</div><div style="color:red">Error: '.$error.'</div>'; print $last_sql_log; die(); } return $res; } function select(){ $arr = func_get_args(); $res = call_user_func_array('query',$arr); $arr = Array(); while($line = mysql_fetch_assoc($res)) $arr[] = $line; return $arr; } function select_key($key,$items){ $list = array(); for($i=0,$n=sizeof($items);$i<$n;$i++){ $list[$items[$i][$key]] = $items[$i]; } return $list; } /** * Выполняет запрос выборки одной записи к базе данных. * Если передано более одного параметра, они буду * вставлены в запрос sprintf`ом * @return array Выбранная запись */ function first(){ $arr = func_get_args(); $res = call_user_func_array('query',$arr); return mysql_fetch_assoc($res); } function insert($table, $query){ $arg1 = array(); $arg2 = array(); foreach($query as $k=>$v) { $arg1[] = sprintf('`%s`',$k); if($v===MYSQL_NOW){ $arg2[] = 'NOW()'; }else{ $arg2[] = sprintf('"%s"',mysql_escape_string(trim($v))); } } $s = 'INSERT INTO '.$table.' ('.implode(',',$arg1).')VALUES('.implode(',',$arg2).')'; if(query($s)){ return mysql_insert_id(); }else{ return false; } } function update($table,$query,$where){ $arr=array(); foreach($query as $k=>$v) { $arr[] = sprintf('`%s`="%s"',$k,mysql_real_escape_string(trim($v))); } return query('UPDATE '.$table.' SET '.implode(',',$arr).' WHERE '.$where); } function delete($table,$where){ return query('DELETE FROM '.$table.' WHERE '.$where); } ?>
PHP: array() = []; define() = const; PHP: $rawSign.= '::'.(isset($_SERVER[$signPart]) ? $_SERVER[$signPart] : 'none'); Заменить на PHP: $rawSign.= '::'.(isset($_SERVER[$signPart]) ?? 'none'); PHP: mysql = mysqli, я бы вообще перешёл на PDO
у тебя ошибка. пдо работает на 6.5% медленнее --- Добавлено --- твой скрипт переводится за 2 секунды, а ты денюжку хочешь дать из - за незнания в пхп. другой случай - нужно менять логику кода, но... да кому нужна эта логика, работает и работает себе.