Привет всем. При переходе на php7 столкнулся с проблемой Fatal error: Uncaught Error: Call to undefined function mysql_connect()... При переносе в одном из модулей возникли проблемы, а именно не могу подключиться к БД. Так как в современных версиях оригинальное расширение MySQL (на котором раньше работал модуль) не поддерживается есть рекомендация использовать MySQLi (что я и исравил внутри файла)... Но он так и не работает с php7, что нужно поправить чтобы заработало? Исходный файл: Спойлер PHP: <?phpinclude('config.php');$link = mysqli_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD);if (!$link) { die('Could not connect: ' . mysqli_error());}mysqli_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $link);if (!mysqli_select_db(DB_DATABASE)) { echo "Unable to select mydbname: " . mysqli_error(); exit;}if(isset($_REQUEST['q']) && $_REQUEST['q']!=''){ $q = mysqli_real_escape_string($_REQUEST['q']); $lan = mysqli_real_escape_string($_REQUEST['lan']); $sql = "select language_id from " . DB_PREFIX . "language where code = '".$lan."'"; $res = mysqli_query($sql); $row = mysqli_fetch_array($res); $id = $row['language_id']; if(!isset($id)){ $id = 1; } $sql = "SELECT pd.name FROM " . DB_PREFIX . "product p," . DB_PREFIX . "product_description pd WHERE p.status = 1 AND p.product_id = pd.product_id AND language_id = '".$id."' AND UPPER(pd.name) like UPPER('%$q%') GROUP BY pd.product_id ORDER BY pd.name ASC"; $res = mysqli_query($sql); if(mysqli_num_rows($res)>0){ while($ro = mysqli_fetch_assoc($res)){ $name = str_replace( array( '\'', '"', ',' , ';', '<', '>','"','&'), ' ', $ro['name']); //$str[]= $name."\n"; echo $name."\n"; } } //echo json_encode($str);}?>
Ну да, я не спорю как вариант... Но можно же просто найти разбирающего человека в php 7 и он скажет что не так в данном файле и что стоит переписать иным образом...