亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: RESTful php web service 上的例子,為什么一直報(bào)錯(cuò) [打印本頁(yè)]

作者: hmchzb19    時(shí)間: 2016-02-29 13:41
標(biāo)題: RESTful php web service 上的例子,為什么一直報(bào)錯(cuò)
本帖最后由 hmchzb19 于 2016-02-29 14:15 編輯

代碼如下:
cat book.php
  1. <?php
  2. $link = mysql_connect('localhost', 'root', '******') or die('Could not
  3. connect: ' . mysql_error());
  4. mysql_select_db('bookstore') or die('Could not select database');
  5. header("Content-Type: text/xml");
  6. //check for the path elements
  7. if(isset($_SERVER['PATH_INFO'])){
  8.     $path=$_SERVER['PATH_INFO'] ;
  9. }
  10. #$path=isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO']:'';
  11. #echo($path);
  12. if($path!=null){
  13. #    $path_params=spliti("/",$path);
  14.     $path_params=explode('/',$path);
  15. }
  16. #print_r($path_params);
  17. if($_SERVER['REQUEST_METHOD']=='POST'){
  18.     $input=file_get_contents("php://input");
  19.     $xml=simplexml_load_string($input);
  20.     foreach($xml->book as $book){
  21.         $query="INSERT INTO book (name,author,isbn) VALUES ('$book->name','$book->author','$book->isbn')";
  22.         $result=mysql_query($query) or die('Query failed:' . mysql_error());
  23.         mysql_free_result($result);
  24.     }
  25. }
  26. else if($_SERVER['REQUEST_METHOD']=='GET'){
  27.     if($path_params[1]!=null){
  28.         settype($path_params[1],'integer');
  29.         $query="SELECT b.id, b.name,b.author, b.isbn FROM book as b where b.id=$path_params[1]";
  30.     }else{
  31.         $query='SELECT b.id, b.name,b.author, b.isbn FROM book as b';
  32.     }     
  33.     //Handle GET request, Return the list of books
  34.     //$query='SELECT b.id, b.name,b.author, b.isbn FROM book as b';
  35.     $result=mysql_query($query) or die("Query failed:" . mysql_error());
  36.     #echo "<document>";
  37.     echo "<books>";
  38.     while($line=mysql_fetch_array($result, MYSQL_ASSOC)){
  39.         echo "<book>";
  40.         foreach($line as $key=> $col_value){
  41.             echo "<$key>$col_value</$key>";
  42.         }
  43.         echo "</book>";
  44.     }
  45.     echo "</books>";
  46.     #echo "</document>";
  47.     mysql_free_result($result);
  48. }
  49. mysql_close($link);
  50. ?>
復(fù)制代碼
本來(lái)的design是:我訪問(wèn)
GET http://localhost/php_site/library/book.php  看到所有的書(shū)。
GET http://localhost/php_site/library/book.php/1 能看到id為1 的書(shū)
但是我的這個(gè)代碼現(xiàn)在變成了:
我必須要訪問(wèn)
GET http://localhost/php_site/library/book.php/ 才能看到所有的書(shū)。奇怪。
如果我GET http://localhost/php_site/library/book.php 就會(huì)報(bào) " undefined path "
  1. [root@22062 library]# curl -v -H "Content-Type:text/xml" http://localhost/php_site/library/book.php
  2. * About to connect() to localhost port 80 (#0)
  3. *   Trying ::1...
  4. * Connected to localhost (::1) port 80 (#0)
  5. > GET /php_site/library/book.php HTTP/1.1
  6. > User-Agent: curl/7.29.0
  7. > Host: localhost
  8. > Accept: */*
  9. > Content-Type:text/xml
  10. >
  11. < HTTP/1.1 200 OK
  12. < Date: Mon, 29 Feb 2016 06:12:34 GMT
  13. < Server: Apache/2.4.6 (Red Hat Enterprise Linux) PHP/5.4.16
  14. < X-Powered-By: PHP/5.4.16
  15. < Content-Length: 518
  16. < Content-Type: text/xml
  17. <
  18. <br />
  19. <b>Notice</b>:  Undefined variable: path in <b>/selinux_test/php_site/library/book.php</b> on line <b>12</b><br />
  20. <br />
  21. <b>Notice</b>:  Undefined variable: path_params in <b>/selinux_test/php_site/library/book.php</b> on line <b>27</b><br />
  22. * Connection #0 to host localhost left intact
  23. <books><book><id>1</id><name>Book1</name><author>Auth1</author><isbn>ISBN0001</isbn></book><book><id>2</id><name>Book2</name><author>Auth2</author><isbn>ISBN0002</isbn></book><book><id>3</id><name>Book3</name><author>Auth3</author><isbn>ISBN0003</isbn></book></books>[root@22062 library]#
復(fù)制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2