Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于Slim框架的MySQL-API_Php_Api_Slim - Fatal编程技术网

Php 基于Slim框架的MySQL-API

Php 基于Slim框架的MySQL-API,php,api,slim,Php,Api,Slim,好的,我终于在我的MAMP localhost上的slim框架中使用了API,并在我的index.php中使用了以下代码: $app = new \Slim\Slim(); $app->get('/people', function() use ($app, $mysqli) { $testQuery = "SELECT name FROM People"; $results = $mysqli->query($testQuery); $app-&

好的,我终于在我的MAMP localhost上的slim框架中使用了API,并在我的index.php中使用了以下代码:

 $app = new \Slim\Slim();
 $app->get('/people', function() use ($app, $mysqli) {
     $testQuery = "SELECT name FROM People";
     $results = $mysqli->query($testQuery);

     $app->response()->header('Content-Type', 'application/json');
     while ($row = $results->fetch_assoc()) {
         echo json_encode($row);
     }
 });
 $app->run();
现在,当我转到localhost/index.php/museers时,我得到的正是我所期望的——JSON编码的文本,表示people表上的姓名。但是,如果我只是转到localhost,我会得到前面在index.php文件中打印的文本和404错误。此外,当我在控制台中运行index.php时,会收到以下错误消息:

注意:第123行的/Applications/MAMP/htdocs/vendor/slim/slim/slim/Environment.php中的未定义索引:REQUEST_方法

注意:第126行的未定义索引:REMOTE_ADDR in/Applications/MAMP/htdocs/vendor/slim/slim/slim/Environment.php

注意:第143行的/Applications/MAMP/htdocs/vendor/slim/slim/slim/Environment.php中的未定义索引:REQUEST_URI

注意:未定义索引:第148行的/Applications/MAMP/htdocs/vendor/slim/slim/Environment.php中的REQUEST_URI

注意:第159行/Applications/MAMP/htdocs/vendor/slim/slim/slim/Environment.php中未定义的索引:SERVER_NAME

注意:第162行的/Applications/MAMP/htdocs/vendor/slim/slim/slim/Environment.php中未定义的索引:SERVER\u PORT


该API显然成功地创建了RESTful API,但我担心index.php和这些错误消息会发生什么

实际上您没有提供任何默认值。它之所以有效,是因为您定义了/人,但当您提供了/时,slim没有得到任何要运行的内容。所以斯利姆表现出了这个问题。 您可以用以下方法解决它。只需在$app->run()之前添加以下行即可。希望你的问题能解决

 $app->get('/', function() use ($app) {
     echo "Index";
     });

实际上,您没有提供任何默认值。它之所以有效,是因为您定义了/人,但当您提供了/时,slim没有得到任何要运行的内容。所以斯利姆表现出了这个问题。 您可以用以下方法解决它。只需在$app->run()之前添加以下行即可。希望你的问题能解决

 $app->get('/', function() use ($app) {
     echo "Index";
     });
如果要返回某些内容,必须定义返回内容的路径。如果你想返回一些东西,你必须定义
/
路径来返回一些东西。并确保您的操作正确。