0

私のコードは次のとおりです。

$stmt = $this->db->prepare("INSERT INTO favorites (id, profile_id, item_id) VALUES(?, ?, ?)");
        if ($stmt)
        {
            $stmt->bind_param("sss", $maxID, $provider, $ID);
            if(!$stmt->execute())
            {
                echo ("Error" . $this->db->error);
                return $this->db->error;
            }
            else
            {
                echo("success");
            }
            $stmt->close();
        }
        else 
        {
            echo ("Error" . $this->db->error);
            return $this->db->error;
        }

私の最善の努力にもかかわらず、この準備されたステートメントは何もしていません。値を MYSQL プロンプトに直接入力すると、正しく機能します。ただし、このスクリプトを実行しても何も起こりません。

注: $maxID、$provider、$ID はすべて、挿入できる有効な値です。スクリプトまたはサーバー エラー ログにエラーはスローされません。行を追加しない理由について非常に混乱しています。私のコードに明らかな間違いはありますか?

ありがとう!!

編集: 新しいコードを追加しました。同じことです。Executeも通ります。

4

2 に答える 2

1

INSERTエラーを探していないだけです。通話の返信ステータスを確認していますが、prepare通話の返信ステータスは確認していませんexecute。これを試して:

$stmt->bind_param("sss", $maxID, $provider, $ID);
$stmt->execute() or die($stmt->error);
$stmt->close();
于 2013-11-12T02:26:58.270 に答える
0

PHP mysqli挿入は機能しませんが、エラーは発生しません

これが私の解決策であることが判明しました。^ 自動コミットはオフでした。

于 2013-11-12T04:03:34.483 に答える