Jag har försökt söka på vad det kan vara för fel. Men det ger inte många svar
Kodsnutten jag får detta fel på är
public function leafNodes()
och det jag kan komma på är att det handlar om namnkonflikt i php5 för i lägre versioner fungrar det tydligen.
Vet inte vad jag ska göra. Är det något man ska koppla på i php-inifilen kanske eller?
Någon som kan hjälpa mig?
public function leafNodes(){
$stmt = DB::getInstance()->prepare("SELECT name FROM categories WHERE right_node = left_node + 1");
$stmt->execute();
return $stmt->fetchALL(PDO::FETCH_ASSOC);
}
och felet
Parse error: syntax error, unexpected T_PUBLIC in xxx\leafnodes.php on line 12
Nu fick jag ju felet även när jag plockade bort db men så här ser db ut
<?php
class DB{
private static $instance = NULL;
private function __construct() {
}
public static function getInstance() {
if (!self::$instance)
{
self::$instance = new PDO("mysql:host=localhost;dbname=animals", 'root', 'xxx');;
self::$instance-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return self::$instance;
}
private function __clone(){
}
}
?>
leafnodes.php
<?php
require("db.class.php");
public function leafNodes(){
$stmt = DB::getInstance()->prepare("SELECT name FROM categories WHERE right_node = left_node + 1");
$stmt->execute();
return $stmt->fetchALL(PDO::FETCH_ASSOC);
}
?>
Du ska inte ha public framför en vanlig funktion, vilket du har nu :) leafNodes ingår inte i någon klass, därav så får du inte använda "keywords" innan.