I was working on bootstrap highscores and got this error:
Fatal error: Call to a member function execute() on a non-object in /home3/mag3rpwn/public_html/Destined-Reality.com/highscores/incl/classes/database.class.php on line 51
Can someone help?
This is the error Method:
Code:
public function getAllUsers($skill, $min) {
$stmt = $this->con->prepare("SELECT * FROM $this->table ORDER BY $skill DESC LIMIT $min, 25");
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
This is the error Server sided:
Code:
at rs2.highscores.Database.executeQuery(Database.java:62)
at rs2.highscores.Highscores.run(Highscores.java:24)
at java.lang.Thread.run(Thread.java:745)
Link 62 for Database
Code:
public ResultSet executeQuery(String query) {
try {
this.stmt = this.conn.createStatement(1005, 1008);
ResultSet results = stmt.executeQuery(query);
return results;
} catch (SQLException ex) {
ex.printStackTrace();
}
return null;
}
This is the run method in Highscores
Code:
@Override
public void run() {
try {
Database db = new Database("hide", "hide.", "hide", "hide");
String name = player.playerName.replace("_", " ");
ResultSet rs = db.executeQuery("SELECT * FROM hs_users WHERE username='"
+ name + "' LIMIT 1");
if (!db.init()) {
System.err.println("Failing to update "+name+" highscores. Database could not connect.");
return;
}
PreparedStatement stmt1 = db.prepare("DELETE FROM hs_users WHERE username=?");
stmt1.setString(1, name);
stmt1.execute();
PreparedStatement stmt2 = db.prepare(generateQuery());
stmt2.setString(1, name);
stmt2.setInt(2, player.getRank());
stmt2.setLong(3, player.getTotalExp());
for (int i = 0; i < player.playerXP.length; i++) {
String skillName = Player.skillNames[i].toLowerCase();
if (skillName == "") {
continue;
}
rs.updateInt(skillName + "_xp", player.playerXP[i]);
}
db.destroyAll();
} catch (Exception e) {
e.printStackTrace();
}
}