0

我有以下工作正常的查询。

$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);
4

1 回答 1

1

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

于 2012-12-14T09:50:28.020 回答