mysqli bind_param无效

时间:2012-12-14 09:45:54

标签: mysqli

我有以下查询工作正常。

$stmt = $sql->prepare("INSERT INTO _dashboard_users(
            Email,
            Password,
            FirstName,
            LastName,
            BusinessName,
            BusinessRole,
            Address,
            City,
            State,
            PostalCode,
            Phone,
            Website) VALUES(?,md5(?),?,?,?,?,?,?,?,?,?,?)");            
        $stmt->bind_param("ssssssssssis",
            $Email,
            $Password,
            $FirstName,
            $LastName,
            $BusinessName,
            $BusinessRole,
            $Address,
            $City,
            $State,
            $PostalCode,
            $Phone,
            $Website);
        $stmt->execute();
但这一次令人头疼。

$stmt = $sql->prepare("INSERT INTO scrape(
            Kategorie,
            Hersteller,
            Artikelnummer,
            Bezeichnung,
            EAN,
            UPC,
            Beschreibung,
            Technische_Daten,
            Sprache,
            URL,
            Marktrelease,
            Bild) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)");
        $stmt->bind_param("ssssssssssss",
            $Kategorie,
            $Hersteller,
            $Artikelnummer,
            $Bezeichnung,
            $EAN,
            $UPC,
            $Beschreibung,
            $Technische_Daten,
            $Sprache,
            $URL,
            $Marktrelease,
            $Bild);
        $stmt->execute();

致命错误:在非对象〜

上调用成员函数bind_param()

任何人都可以告诉我为什么会这样吗?我100%肯定我写的是什么,bind_param是$ stmt的成员函数。

**UPDATE:** I initiliazed $sql like this $sql = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);

1 个答案:

答案 0 :(得分:1)

第二个查询返回错误。 $sql->prepare失败,因此$stmt不是对象(如您的错误中所述)。您无法在非对象上调用方法。