创建PHP脚本以接收ID和返回信息

创建PHP脚本以接收ID和返回信息,php,xml,return,Php,Xml,Return,我有一个客户机,他需要能够在我的服务器上点击一个脚本,为脚本提供一个ID号,然后接收回一个包含该ID信息的XML字符串。例如,他将向“www.mywebsite.com?uid=424”发送一个请求,并接收回一个类似以下内容的XML字符串: <client> <clientID>424</clientID> <clientName>ABC123</clientName> <contact>Joe Sc

我有一个客户机,他需要能够在我的服务器上点击一个脚本,为脚本提供一个ID号,然后接收回一个包含该ID信息的XML字符串。例如,他将向“www.mywebsite.com?uid=424”发送一个请求,并接收回一个类似以下内容的XML字符串:

<client>
    <clientID>424</clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>
<?php
 //Your sql connection
 $db = new PDO("mysql:dbname=testdb;host=127.0.0.1", "user", "pass");

 //Get the id from the url and cast it to an integer
 $id = (int) $_GET['id'];

 //select the stuff from your database
 $q = $db->prepare("SELECT `name`,`id`,`contact` FROM `blabla` WHERE id = ?");
 $q->execute( array( $id ) );
 $client = $q->fetch(2);

 //Output as xml
 header("Content-type: text/xml; charset=utf-8");
 echo 
"<?xml version="1.0"?>
  <client>
    <clientID>{$client['id']}</clientID>
    <clientName>{$client['name']}</clientName>
    <contact>{$client['contact']}</contact>
</client>"; 
 exit;

424
ABC123
乔施默

我以前从未这样做过,所以我想知道它是否像获取ID号一样简单,运行一个查询来获取所有信息,然后打印xml数据,或者是否有类似这样的数据返回函数。我试着用谷歌搜索,但什么都找不到。。。可能是因为我没有找到合适的东西。任何帮助都将不胜感激。

使用
$\u Get获取url参数:

<?php
$id = $_GET['uid'];
?>
<client>
    <clientID><?php echo $id; ?></clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>

ABC123
乔施默

使用
$\u Get
获取url参数:

<?php
$id = $_GET['uid'];
?>
<client>
    <clientID><?php echo $id; ?></clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>

ABC123
乔施默
简单地说,是的

更复杂-取决于对方正在寻找什么样的请求。如果他们可以接受html,那么是的,您就完成了。如果他们需要其他类型的输出-您可能需要更改内容类型标题。

简单地说-是


更复杂-取决于对方正在寻找什么样的请求。如果他们可以接受html,那么是的,您就完成了。如果他们需要其他类型的输出-您可能需要更改您的内容类型标题。

您可以根据需要简化。我会这样做:

<client>
    <clientID>424</clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>
<?php
 //Your sql connection
 $db = new PDO("mysql:dbname=testdb;host=127.0.0.1", "user", "pass");

 //Get the id from the url and cast it to an integer
 $id = (int) $_GET['id'];

 //select the stuff from your database
 $q = $db->prepare("SELECT `name`,`id`,`contact` FROM `blabla` WHERE id = ?");
 $q->execute( array( $id ) );
 $client = $q->fetch(2);

 //Output as xml
 header("Content-type: text/xml; charset=utf-8");
 echo 
"<?xml version="1.0"?>
  <client>
    <clientID>{$client['id']}</clientID>
    <clientName>{$client['name']}</clientName>
    <contact>{$client['contact']}</contact>
</client>"; 
 exit;

您可以随心所欲地简化它。我会这样做:

<client>
    <clientID>424</clientID>
    <clientName>ABC123</clientName>
    <contact>Joe Schmoe</contact>
</client>
<?php
 //Your sql connection
 $db = new PDO("mysql:dbname=testdb;host=127.0.0.1", "user", "pass");

 //Get the id from the url and cast it to an integer
 $id = (int) $_GET['id'];

 //select the stuff from your database
 $q = $db->prepare("SELECT `name`,`id`,`contact` FROM `blabla` WHERE id = ?");
 $q->execute( array( $id ) );
 $client = $q->fetch(2);

 //Output as xml
 header("Content-type: text/xml; charset=utf-8");
 echo 
"<?xml version="1.0"?>
  <client>
    <clientID>{$client['id']}</clientID>
    <clientName>{$client['name']}</clientName>
    <contact>{$client['contact']}</contact>
</client>"; 
 exit;