当我从htdocs的子文件夹运行以下php文件时,我收到404错误:“在此服务器上找不到请求的URL。”
我们将子文件夹称为“其他”。
当从htdocs文件夹运行相同的文件时,我收到错误:“致命错误:在第12行PHP上的C:\ xampp \ htdocs \ other \ DBConnection.php中找不到类'mysqli'。”
我希望能够从“其他”文件夹成功运行该文件,因为我将使用它来测试多个项目和网站。
我认为问题在于file_get_contents(“http://www.omdbapi.com/?t=Open+Water&y=&plot=full&r=json”)中缺少某些内容;线。即。告诉此命令查看htdocs文件夹,它可以访问互联网或授权它从“其他”文件访问互联网。
我在这里和网上研究但找不到答案。我已经尝试将连接代码移动到“OMDB查询”文件中,但这会产生类似于上面第二个错误的错误。任何人都可以帮我解决这个问题吗?
Windows 10 NetBeans 8.0.2 XAMPP PHP 5.6.8 mySQL 5.6 访问OMDb.com api。
代码:
<?php
/*
* File: OMDB query.php
* Author: Jim Stevens
* Date: 08/14/2015
* Description: Imports records from OMDb and inserts results into local mySQL DB.
*/
require_once 'C:\xampp\htdocs\other\DBConnection.php';
$json = file_get_contents("http://www.omdbapi.com/?t=Open+Water&y=&plot=full&r=json");
// Decodes .json file, creates & populates an associative array.
$data = json_decode($json, TRUE);
// Extracts the array data.
$title = $data['Title'];
$year = $data['Year'];
$rated = $data['Rated'];
...more fields...
// Inserts extracted values into mySQL table 'myDB'.
$sql = "INSERT INTO movies.myDB(title, yr, rated, ...more fields...')";
if ($connection->query($sql) === TRUE) {
echo "New record created successfully";
}
...
?>
DBConnection.php文件存储在“other”文件夹中。它成功连接到“myDB”并按预期工作:
代码:
<?php
/*
* File: DBConnection.php
* Author: Jim Stevens
* Date: 08/09/2015
* Description: Creates and manages myDB database connections.
*/
require_once 'config.php'; // The file with username, password, dbname, & dbhostname.
$connection = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if ($connection->connect_error) {
die($connection->connect_error);
}
// The following works correctly but is a leftover from initial testing and will be removed eventually.
$query = "SELECT * FROM myDB";
$result = $connection->query($query);
if (!$result) {
die($connection->error);
}
$rows = $result->num_rows;
for ($j=0; $j < $rows; ++$j) {
$result->data_seek($j);
$row = $result->fetch_array(MYSQLI_ASSOC);
echo 'Title: ' . $row['title'] . '<br>';
echo 'Year: ' . $row['yr'] . '<br>';
echo 'Rated: ' . $row['rated'] . '<br>';
echo 'Actors: '. $row['actors']. '<br>';
echo 'Plot: ' . $row['plot'] . '<br><br>';
}
$result->close();
$connection->close();
?>
答案 0 :(得分:1)
你的file_get_contents()函数没有任何问题。
在解释器触及此行之前,您收到错误。
正如你的错误输出所说(你真的应该相信它),错误位于你的DBConnection.php文件的第12行,所以:
$connection = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
^ here
您可能没有安装Mysqli。检查Windows上how to install it上的文档,或查看XAMPP的文档。