Zum Inhalt springen

function bind_param() on a non-object


Empfohlene Beiträge

Tag ich habe folgendes Problem und komme einfach nicht auf die Lösung. Es wäre nett wenn ihr es mir genauer erklären könntet da ich das Problem bei dieser Funktion öfters habe und manchmal dann wieder nicht und ab und zu kommts und ist dann weg ... würde halt gerne wissen worum es da genau geht und wieso das passiert ... Danke im Vorraus

Fehler: Fatal error: Call to a member function bind_param() on a non-object in H:\Data\Apache2GO\www\rinmas-welt\todo.php on line 24

Code:


if($_SESSION["status"] === true)
{
if ($_SESSION["send"] == false)
{
$smarty->assign('versand', "Nachricht versendet am ");

$sqlb = $mysqli->prepare("INSERT INTO ideen (from_user, idee, eingereicht) VALUES (?, ?, ?);");
$idee = $sqlb->bind_param("sss", $user[0], $nachricht, $daze);
$idee->execute();
$idee->close();
$mysqli->close();

unset ($nachricht);
unset ($_POST["idee"]);

$_SESSION["send"] = true;
header("refresh:2;todo.php");
exit();
ob_end_flush();
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm Schlechte Wortwahl. Mit Funktion mein ich:


$sqlb = $mysqli->prepare("INSERT INTO ideen (from_user, idee, eingereicht) VALUES (?, ?, ?);");
$idee = $sqlb->bind_param("sss", $user[0], $nachricht, $daze);
$idee->execute();
[/PHP]

$sqlb definier ich bis dahin garnicht. Aber wie gesagt ich benutzte exakt dasselbe nochmal in einer anderen .php Datei, mit anderen variablen namen, und dort funktioniert es deshalb versteh ich das ja nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

nee nicht wirklich aber so hab ich es irgentwie bei der anderen datei damals zum laufen bekommen... mom ich poste lieber mal denn ganzen code


<?php
ob_start();
session_start();
require_once 'dblogin.php';
require 'smarty.php';

$smarty = new MySmarty;
$smarty->caching = true;
$smarty->cache_lifetime = 14400;

$nachricht = $_POST["idee"];
$daze = $datum . " " . $zeit;
$u = $mysqli->query("SELECT user FROM bg1 WHERE user='" . $_SESSION["user"] . "';");
$userv = $u->fetch_row();
$user = $userv[0];

if($_SESSION["status"] === true)
{
if ($_SESSION["send"] == false)
{
$smarty->assign('versand', "Nachricht versendet am ");

$idee = $mysqli->prepare("INSERT INTO ideen (from_user, idee) VALUE (?, ?);");
$idee->bind_param("ss", $user, $nachricht);
$idee->execute();
$idee->close();
$mysqli->close();

unset ($nachricht);
unset ($_POST["idee"]);

$_SESSION["send"] = true;
header("refresh:2;todo.php");
exit();
ob_end_flush();
}
elseif ($_SESSION["send"] === true)
{
$smarty->assign('status', "Sie haben bereits eine Nachricht versendet. Versuchen Sie es später noch einmal.");
}
}
else
{
$smarty->assign('status', "Sie sind kein angemeldeter Benutzer.");
}

$smarty->display("todo.tpl");
?>
[/PHP]

Hab mitttlerweile kleinere fehler weg gemacht und ein zwei unnötige dinge läuft aber immer noch nicht

Link zu diesem Kommentar
Auf anderen Seiten teilen

Fehler: Fatal error: Call to a member function bind_param() on a non-object in H:\Data\Apache2GO\www\rinmas-welt\todo.php on line 24

Logischerweise enthält die Variable in dieser Zeile kein MySQLi_STMT Objekt, kennt also die Methode bind_param nicht. Da mysqli_prepare entweder ein MySQLi_STMT zurück gibt oder FALSE wird es wohl letzteres sein. Folgerichtig ist dein SQL Statement verkehrt. Fehlerabfragen bei allen Datenbankaktionen sind übrigens nie Verkehrt (hint, hint)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...