私はいくつか似たような質問をしましたが、それらの解決策のどれも私のために働かなかったので、私はこれを求めています。エラー:配列PDOのメンバー関数fetch()を呼び出しても機能しません
これはコードです: -
$sql = "SELECT sifra, IDartikli
FROM {$this->prefix}artikli
WHERE IDartikli = {$artikel_id};";
echo "$sql";
$stmt = $this -> db -> execute($sql);
print_r($stmt);
$table = $stmt->fetch(PDO::FETCH_ASSOC
//$table = $stmt;
// trenutne podatke vstavimo v tabelo artikli_stari
$sql = "INSERT INTO {$this->prefix}artikli_stari
(EAN,
IDartikli)
VALUES('{$table['sifra']}',
'{$table['IDartikli']}');";
$stmt = $this -> db ->prepare($sql);
$stmt->execute();
私はここに$table = $stmt->fetch()
をエラーが発生します。 私はphpMyAdminの中にSQLを試してみましたが、それはそこに正常に動作、および機能print_r($stmt);
は、それが実行されていない理由を私は知らない私は、この
Array
(
[status] => OK
[id] =>
[count] =>
)
を取得します。 DBクラスが必要であり、同じファイル内の他のクエリの場合は $row = $stmt->fetch(PDO::FETCH_ASSOC)
のように動作し、正しく動作します。私もPHP
私のコードでエラーを見つけることができないlintを試してみました。
あなたのコードはSQLインジェクションの影響を受けやすく、プリペアドステートメントのポイントが欠落しているように見えます.-言い換えれば、最初のステートメント '$ stmt = $ this-> db-> execute($ sql);は'準備されていた〜だったはずだった? – RamRaider
こんにちは。あなたはあなたの解決策を見つけましたか? –
私は単純にそれをしました $ stmt = $ database-> connection-> prepare($ sql); $ stmt-> execute([':articleId' => $ artikel_id]); – Noon