Как интегрировать XML-конфигурацию в PHP
Дорогой читатель,
Я пытаюсь прочитать XML-файл (сделанный приложением через c#) в PHP.
Что бы я ни попробовал это не сработает
Что я уже пробовал:
Это и есть код;
<?php error_reporting(E_ALL); ini_set('display_errors', 1); $myXMLData = $_GET["C:\ProgramData\DS\Config.xml"]; $xml=simplexml_load_string($myXMLData); $connectionInfo = array( "Database"=> $xml->DatabaseConnection[0]->InitialCatalog, "UID"=> $xml->DatabaseConnection[0]->UserID, "PWD"=>$$xml->DatabaseConnection[0]->Password); $conn = sqlsrv_connect( $xml->DatabaseConnection[0]->DataSource, $connectionInfo); if( $conn ) { echo "Connection established. <br/><br/> "; }else{ echo "Connection could not be established.<br /><br>"; die( print_r( sqlsrv_errors(), true)); print_r(PDO::getAvailableDrivers()); } ?>
Это код гиперссылке ;
Обратите внимание: неопределенный индекс: C:\ProgramData\DS\Config.xml в B:\_Websites\testpage.php на линии 68
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 72
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 72
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 72
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 72
Обратите внимание: неопределенная переменная: in B:\_Websites\testpage.php на линии 72
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 72
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 72
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 73
Обратите внимание: попытка получить свойство не-объекта в B:\_Websites\testpage.php на линии 73
Подключение не может быть установлено.
Массив ( [0] =&ГТ; массив ( [0] =&ГТ; IMSSP [ошибка sqlstate] =&ГТ; IMSSP [1] =&ГТ; -1 [код] =&ГТ; -1 [2] =&ГТ; неверный параметр был передан sqlsrv_connect. [message] => недопустимая опция была передана в sqlsrv_connect. ) )
Anurag Gandhi
Какова структура вашего xml-файла? Пожалуйста, опубликуйте свой xml-файл.
Кажется, что DatabaseConnection-это не массив, но вы пытаетесь прочитать его как массив.
Robin Uters
Привет Анураг,
При этом XML-код
Конфиг:
$xmldata = simplexml_load_file("C:\ProgramData\ARAS\EasyVisitor\Config\Config.xml") or die("Failed to load"); $XML_SQL_DataSource = $xmldata->DatabaseConnection[0]["DataSource"]; $XML_SQL_InitialCatalog = $xmldata->DatabaseConnection[0]["InitialCatalog"]; $XML_SQL_UserID = $xmldata->DatabaseConnection[0]["UserID"]; $XML_SQL_Password = $xmldata->DatabaseConnection[0]["Password"];
XML-код:
Скрыть скопировать код
<?xml version="1.0" encoding="utf-8"?><Config><DatabaseConnection DataSource="SQLSERVER" InitialCatalog="SQLDATABASE" UserID="SQLUSER" Password="SQLPASSWORD" /></Config>
PHP-код:
Скрыть скопировать код
<?php error_reporting(E_ALL);ini_set('display_errors', 1);$connectionInfo = array( "Database"=>$XML_SQL_InitialCatalog, "UID"=>$XML_SQL_UserID, "PWD"=>$XML_SQL_Password);$conn = sqlsrv_connect( $XML_SQL_DataSource, $connectionInfo);if( $conn ) { echo "Connection established. <br/><br/> SQL Server: $XML_SQL_DataSource <br> SQL Database: $XML_SQL_InitialCatalog <br> SQL Username: $XML_SQL_UserID <br> SQL Password: ".md5($XML_SQL_Password)." (For Secure password is encrypted.)<br> ";}else{ echo "Connection could not be established.<br /><br>"; die( print_r( sqlsrv_errors(), true)); print_r(PDO::getAvailableDrivers());} ?>
Текущий код ошибки:
Подключение не может быть установлено.
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -33 [code] => -33 [2] => был указан недопустимый тип значения для базы данных опций. Ожидался строковый тип. [message] => был указан недопустимый тип значения для базы данных опций. Ожидался строковый тип. ) )