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

2 番目のクエリはエラーを返します。$sql->prepare失敗したため、$stmtオブジェクトではありません(エラーで伝えられているように)。オブジェクト以外でメソッドを呼び出すことはできません。

于 2012-12-14T09:50:28.020 に答える