채택완료

xml 리턴할때 php변수사용법

제가 설정한 사이트에 get방식으로 값을 보내주는데

그걸가지고

xml return을 해야합니다.

Copy
$test = $_GET['test']

$sql = "select * from xxx where type = $test";

$row = sql_fetch($sql);

 

echo "<?xml version=1.0 encoding=utf-8?>

<name>$row['name']</name>";

이런식으로 받아온값으로 db조회를해서 

xml 리턴 name에 넣어주고 싶은데

Copy
$row['name']

가 인식을 못합니다.

저거대신에 123 넣으면 123이 출력되는거봐서 php 변수사용을 저렇게 하는게 아닌것 같은데

어떻게 하면 할수있을까요?

|

답변 3개 / 댓글 5개

채택된 답변
+20 포인트

해당 쿼리의 결과값이 없어 보입니다

쿼리부분에서 "select * from xxx where type = '{$test}'"

감싸 주세요 type의 컬럼타입이 int가 아닌이상 감싸줘야합니다

답변에 대한 댓글 3개

echo $row['name'] 쳐보면 나오는거봐서 쿼리는 잘 작동하는거 같습니다 ㅠ

말씀해주신 {} 로 해도 안되네요.
echo "<?xml version=1.0 encoding=utf-8?><name>".$row['name']."</name>";
출력부분도 이렇게 해보세요
여러가지로 해봤는데 안되네요

그냥 get넘어오는사이트를 들어가보면(뒤에 get넘겨주고)

제대로 출력되는데 (쿼리도 다 작동하고, 임의로 넣은값도 다 동작하는데..)

echo xml안으로만 들어가면 인식을 못해버리는데

무슨 이유가있을까요?

$row['name'] = '123';
echo $row['name'] => 123 출력 ok

"<?xml version=1.0 encoding=utf-8?><name>123</name>"; => 123출력됨
"<?xml version=1.0 encoding=utf-8?><name>".$row['name']."</name>"; => 빈값출력ㅠㅠ
2020-05-28 (목) 17:03:52

<name>$row['name']</name>"; 을

<name>{$row['name']}</name>"; 로해보세요

답변에 대한 댓글 1개

다 안됩니다 ㅠㅠ

$row['name'] = '123'; 이렇게 지정하시지 마시고

$test = $_GET['test']
$sql = "select * from xxx where type = '{$test}'";
$row = sql_fetch($sql);
echo $row['name'];

만했을때도 값이 찍히시나요?

답변에 대한 댓글 1개

네 그냥 echo $row['name'] 하면 값이 찍히는데

xml 안에 넣으면 출력이 안되네요.

답변을 작성하려면 로그인이 필요합니다.