1

データベース (www.eqtraders.com) を使用する Web サイトを持っています。これは PHP と MySQL で実行されます。

ホストが最近 PHP を更新したようで、現在は ' yield ' がpredefined keywordPHP に含まれています。だから...私はどこにでも行き、yieldのすべてのフィールド参照をr_yieldに変更しました。次に、データベースのフィールド名を に変更しますr_yield

コードが次のクエリを送信していると確信しています。

INSERT INTO recipes (item_id, r_yield, tradeskill, restriction, triv_low, triv_high, date_added, triv_display) VALUES ("51998", "1", "Spell Research", NULL, "432", "432", "2015:11:04", "432")

このため、次のエラーが表示されます。

データベースの「フィールドリスト」の不明な列「r_yield」:レシピ

PHPMySQLフィールド名が r_yield であることを報告します (レシピ以外にも変更が必要なテーブルが 2 つあります)

名前が変更された PHPMyAdmin のスクリーンショット。フィールド 3

私が何をする必要があるかについて誰かアドバイスがありますか?

4

1 に答える 1

1

サンプル コードでは、「item_id」と「r_yield」の使用は明確ではありません。定数または文字列のいずれかである可能性があります。

問題は PHP 側にあります。私は提案します :

  • MySQL テーブルの列の名前を「yield」に戻します。これは、そもそも変更する必要がなかったためです。「yield」は MySQL キーワードではなく PHP キーワードです。

  • 文字列の PHP コードで一重引用符を使用します。

    $rs = $data['item_id'];
    $rs_temp_data['item_id'] = $rsdata['item_id'][$i];
    $rs_temp_data['yield'] = $rsdata['yield'][$i];
    
于 2015-11-09T15:09:18.147 に答える