테스트 사이트 - 개발 중인 베타 버전입니다

xml 리턴할때 php변수사용법 채택완료

rlawhd 5년 전 조회 2,582

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

 

그걸가지고

 

xml return을 해야합니다.

 

</p>

<p> </p>

<p>$test = $_GET['test']</p>

<p>$sql = "select * from xxx where type = $test";</p>

<p>$row = sql_fetch($sql);</p>

<p> </p>

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

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

<p>

 

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

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

</p>

<p>$row['name']</p>

<p>

 

가 인식을 못합니다.

 

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

 

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

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

답변 3개

채택된 답변
+20 포인트
Policia
5년 전

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

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

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

그냥 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>"; => 빈값출력ㅠㅠ

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

5년 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

r
rlawhd
5년 전
다 안됩니다 ㅠㅠ

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

Policia
5년 전

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

 

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

r
rlawhd
5년 전
네 그냥 echo $row['name'] 하면 값이 찍히는데

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

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

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

로그인