我正在制作一个简单的网站。当我创建对另一个类的引用时,我的网站将退出。
$get_car_list = new GetCarList();
$car_list = $get_car_list->getEntireInventory();
一旦调试器命中$get_car_list = new GetCarList();
,它就会立即退出。
我引用的类的代码如下。
class GetCarList {
public function getEntireInventory() {
$car_list = array();
// Connecting, selecting database
$connection = mysqli_connect('localhost:8889', 'root', 'root')
or die('Could not connect: ' . mysqli_connect_error());
$queryStatementForIdList = "SELECT id FROM cars";
$r = mysqli_query($connection, $queryStatementForIdList);
$idList = mysqli_fetch_array($r);
for($i = 1; $i < sizeof($idList); $i++) {
$queryStatementForSingleCar = "SELECT * FROM cars WHERE id = " . $idList[$i];
$b = mysqli_query($connection, $queryStatementForSingleCar);
$carInfo = mysqli_fetch_assoc($b);
$thisCar = new Car($carInfo['id'], $carInfo['make'], $carInfo['model'], $carInfo['year'], $carInfo['thumbnail'],
$carInfo['photos'], $carInfo['miles'], $carInfo['price']);
array_push($car_list, $thisCar);
}
return $car_list;
}
}
我真的是php的新手,所以它可能是非常简单的东西。但我发现这有点奇怪,因为调试器和执行在某行代码上完全停止。
编辑:这是事件的日志打印输出
[25-Feb-2015 04:28:27 Europe/Berlin] PHP Warning: include(../model/GetCarList.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/dushanemotors/controller/InventoryController.php on line 12
[25-Feb-2015 04:28:27 Europe/Berlin] PHP Stack trace:
[25-Feb-2015 04:28:27 Europe/Berlin] PHP 1. {main}() /Applications/MAMP/htdocs/dushanemotors/inventory.php:0
[25-Feb-2015 04:28:27 Europe/Berlin] PHP 2. InventoryController->__construct($url = *uninitialized*) /Applications/MAMP/htdocs/dushanemotors/inventory.php:11
[25-Feb-2015 04:28:27 Europe/Berlin] PHP Warning: include(): Failed opening '../model/GetCarList.php' for inclusion (include_path='.:/Applications/MAMP/bin/php/php5.6.2/lib/php') in /Applications/MAMP/htdocs/dushanemotors/controller/InventoryController.php on line 12
[25-Feb-2015 04:28:27 Europe/Berlin] PHP Stack trace:
[25-Feb-2015 04:28:27 Europe/Berlin] PHP 1. {main}() /Applications/MAMP/htdocs/dushanemotors/inventory.php:0
[25-Feb-2015 04:28:27 Europe/Berlin] PHP 2. InventoryController->__construct($url = *uninitialized*) /Applications/MAMP/htdocs/dushanemotors/inventory.php:11
我在做
include '../model/file.php';
什么时候我应该做
include 'model/file.php';
出于某种原因,我的IDE(PhpStorm)告诉我该文件不存在。出于某种奇怪的原因,它仍在发出警告。
首先打开中的所有错误
error_reporting(E_ALL);
ini_set('display_errors', 1); // check your php.ini
$get_car_list = new GetCarList();
$car_list = $get_car_list->getEntireInventory();
在呼叫
new GetCarList();
之前,您有include
吗?或者在这行前面有类声明吗?试着一步一步地走。因此,第一次迭代是用以下代码创建一个文件:
error_reporting(E_ALL); ini_set('display_errors', 1); // check your php.ini class GetCarList { public function getEntireInventory() { return 'GetCarList Response'; } } $get_car_list = new GetCarList(); $car_list = $get_car_list->getEntireInventory(); echo $car_list;
因此,如果它有效,你可以开始用你的方法getEntireInventory()
进行操作,这很糟糕,所以试着(但请记住,你试图在这里创建Car
——我不知道你在哪里声明了那个类?):
public function getEntireInventory() {
$car_list = array();
$connection = mysqli_connect('localhost:8889', 'root', 'root')
or die('Could not connect: ' . mysqli_connect_error());
$query = "SELECT * FROM cars ";
$result = mysqli_query($connection, $query);
while ($carInfo = mysqli_fetch_assoc($result)) {
$thisCar = new Car($carInfo['id'], $carInfo['make'], $carInfo['model'], $carInfo['year'], $carInfo['thumbnail'],
$carInfo['photos'], $carInfo['miles'], $carInfo['price']);
array_push($car_list, $thisCar);
}
return $car_list;
}