Ich habe Probleme beim Aufruf einer Funktion innerhalb einer Klasse __construct
.PHP - Aufruf einer Funktion innerhalb eines Objekts führt zu einem Fehler: 'Aufruf an eine Mitgliedsfunktion query() für eine Ganzzahl in'
Die Funktion:
function dbcom_query($con,$query) {
if (!$mysqli_result = $con->query($query)) dbcom_error();
return $mysqli_result;
}
Und die Klasse:
class User {
public $id;
public $con;
public $full_name;
public $disp_name;
public function __construct($id,$con) {
$query = "SELECT * FROM user_1;";
$result = dbcom_query($con, $query);
if ($result) {
$usr_array = mysqli_fetch_assoc($result);
$this->full_name = $usr_array['full_name'];
$this->disp_name = $usr_array['disp_name'];
}
}
}
- ich die user_ setzen in der Abfrage einen Zweifel darüber, wie die Abfrage sein Build zu mildern . Sonst wäre es $ ID.
Aber dann bekomme ich diesen Fehler, nicht sicher, was los ist:
Aufruf einer Member-Funktion query() auf integer in ... 'x' Linie
Wo ' x'-line ist: $query = "SELECT * FROM user_1;";
Und, wenn ich diese Funktion dbcom_query()
außerhalb jedes Objekts aufrufen, funktioniert es gut.
EDIT: wow, ich bin etwas beschämt ... Ich rief $user = new User($con,$id)"
- falsche Parameter Reihenfolge. Was für ein dummer Fehler. Tut mir leid, Leute!
$ query = "SELECT * FROM' user_1'"; –
Scope, Scope, scope – RiggsFolly
@Anant die ';' ist unnötig, aber ich glaube nicht, dass es einen Fehler verursacht – RiggsFolly