@uwagi xml, @komunikat xml output
chciałbym wywołać tą procedurę, ale z tego co widzę, to w php nie ma wsparcia do przekzywania parametrów typu xml. W sumie to do procedury mogę przekazać zwykły tekst (gdyż nie jest to skomplikowany xml a po prostu zwykły komunikat), a potem w procedurze przerobić go na xmla.
Na razie wywołanie procedury wyrzuca błąd, więc nie jestem w stanie sprawdzić, czy i jak to zrobić, żeby wynik wywołania procedury był typu xml.
Warning: mssql_execute() [function.mssql-execute]: message: Implicit conversion from data type xml to varchar is not allowed. Use the CONVERT function to run this query. (severity 16) in C:\wamp\www\MSSQL\index.php on line 39
moja procedura zwraca wartość typu int i posiada wyżej wspomniany parametr output typu xml
to jest przykład kodu procedury:
RETURN 0 -- to, co zwraca procedura SET @komunikat = dbo.CreateXmlMessage(0, 'Zapis wykonany poprawnie'); -- ustawienie parametru typu xml, który chciałbym odczytać w php.
a tak deklaruję parametry w php:
mssql_bind($procedure, "@id_egzemplarza", $id_egzemplarza, SQLINT1, false, false, 40); mssql_bind($procedure, "@uwagi", $uwagi, SQLVARCHAR, false, false, 40); mssql_bind($procedure, "@komunikat", $komunikat, SQLVARCHAR, true, true, 40);
wydaje mi się, że to co zwróci mi
$rez = mssql_execute($procedure);
ale tu pojawia się pytanie, jak dostać się do parametru @komunikat xml output w php?
w dokumentacji na php.net nie ma przykładów, które by mogły rozwiązać mój problem.
PODSUMOWUJĄC:
1. Jak przekazać parametr typu xml do php z pomiomu php?
2. Jak odczytać parametr output typu xml w php?
3. Czy taka praktyka, jaką stosuję jest poprawna? Chodzi mi przede wszystkim o jakąś logikę zwracania wyniku procedury.