новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: адаптировать скрипт под php7

    • #1
    • 30.03.2018 10:00
    0
    перестал работать скрипт на php7 нужно заменить библиотеки обращения к MySQL см. вложение  Подробнее>>
    • #2
    • 30.03.2018 10:01
    0
    mysqli
    • #3
    • 31.03.2018 11:19
    0
    И в отладке сразу со второй строки (считай что с первой, после объявления php) $query = $GLOBALS["HTTP_RAW_POST_DATA"];
    - уже не поддерживается.
    • #4
    • 31.03.2018 13:04
    • Отредактировано: 31.03.2018 13:06:21
    0
    <?php
    header('Content-Type: text/xml');
    header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
    header('Content-Disposition: inline; filename="res.xml"');
    header('Pragma: public');
    
       $query = file_get_contents("php://input");
    	$mysql_host = $_GET["mysql_host"];
    	$mysql_user = $_GET["mysql_user"];
    	$mysql_password = $_GET["mysql_password"];
    	$my_database = $_GET["my_database"];
    	$limit_nom = $_GET["limit_nom"];
    	$limit_row = $_GET["limit_row"]; 
    
    	if ((isset($limit_nom) and isset($limit_row)))
    	{
    		$query = $query . " limit " . $limit_nom . ", " . $limit_row;	
    	}
    
        $link = mysqli_connect($mysql_host, $mysql_user, $mysql_password) or die('<?xml version="1.0" encoding="utf-8"?><dump><error error="Ошибка подключения к MySQL серверу!!!"/></dump>');
        mysqli_select_db($link, $my_database) or die('<?xml version="1.0" encoding="utf-8"?><dump><error error="Не удалось выбрать базу данных!!!"/></dump>');
    	$result = mysqli_query($link,"SET character_set_results = 'utf8'");
        $result = mysqli_query($link, $query) or die('<?xml version="1.0" encoding="utf-8"?><dump><error error="'.htmlspecialchars(mysqli_error($link)).'"/></dump>');
    	$res_xml = '<?xml version="1.0" encoding="utf-8"?><dump>';
    	$kol_rez = true;
        while ($line = mysqli_fetch_assoc($result))
    	{
    		if ($kol_rez)
    		{
    			$i = 0;
            	foreach ($line as $col_value) 
    			{
    				$res_xml = $res_xml . '<col field="' . mysqli_fetch_field_direct($result, $i) . '"/>';
    				$i++;
            	}
    			$kol_rez = false;
    		}
            $res_xml = $res_xml . '<row';
    		$i = 0;
            foreach ($line as $col_value) 
    		{
    			$res_xml = $res_xml . ' ' . mysqli_fetch_field_direct($result, $i) .'="' . htmlspecialchars($col_value) . '"';
    			$i++;
            }
    		$res_xml = $res_xml . '/>';
        }
        mysqli_free_result($result);
        mysqli_close($link);
    	$res_xml = $res_xml . '</dump>';
    	echo $res_xml;
    	?> 

    Если форма с типом "multipart/form-data" то работать не будет (php://input).
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться