Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal error: Class 'Services_JSON' not found

Tags:

php

mysql

I try to create a very simple web application on 000webhosting, but when I try to implement this:

<?php

include_once("JSON.php");
$json = new Services_JSON();

$link = mysql_pconnect("******", "******", "******") or die("Could not connect");
mysql_select_db("******") or die("Could not select database");

$arr = array();

$rs = mysql_query("SELECT * FROM users");
while($obj = mysql_fetch_object($rs)) {
    $arr[] = $obj;
}

Echo $json->encode($arr);

?>

But I got this warning/error. Could you help me please?

Warning: include_once(JSON.php) [function.include-once]: failed to open stream: No such file or directory in /home/a1622045/public_html/index.php on line 3

Warning: include_once() [function.include]: Failed opening 'JSON.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a1622045/public_html/index.php on line 3

Fatal error: Class 'Services_JSON' not found in /home/a1622045/public_html/index.php on line 4

like image 625
user2971617 Avatar asked Jun 05 '26 14:06

user2971617


1 Answers

Change this:

Echo $json->encode($arr);

to this:

echo json_encode($arr);

and remove this:

include_once("JSON.php");
$json = new Services_JSON();

The program you are working on uses an old PEAR library, which converts JSON object notation into PHP arrays, and vice versa. However PHP has had the ability to do this natively for many years, and so your code is relying on a dependency it does not need.

I have switched Echo to echo too - PHP keywords may work in mixed-case format, but it is a good convention to write them in lower-case, as per the manual.

like image 129
halfer Avatar answered Jun 07 '26 08:06

halfer