<p>Web サイトに検索ページを実装しようとしています。ユーザーはキーワードを入力できる必要があり、Web サイトはデータベースからそのキーワードを含む製品テーブルの行を返す必要があります。 </p>
<p>データベースへの接続を確立しようとすると、このエラーが発生します</p>
<pre class="brush:php;toolbar:false;">_stream_writable.js:57 Uncaught ReferenceError: プロセスが定義されていません
./node_modules/mysql/node_modules/readable-stream/lib/_stream_writable.js (_stream_writable.js:57:1) にあります。
options.factory で (反応更新:6:1)
__webpack_require__ で (ブートストラップ:24:1)
fn で (ホットモジュール交換:62:1)
./node_modules/mysql/node_modules/readable-stream/readable-browser.js (readable-browser.js:4:1) にあります。
options.factory で (反応更新:6:1)
__webpack_require__ で (ブートストラップ:24:1)
fn で (ホットモジュール交換:62:1)
./node_modules/mysql/lib/protocol/sequences/Query.js (Query.js:7:1) にあります。
options.factory (反応リフレッシュ:6:1)</pre>
<p>これは Search.jsx ファイルです。我创造</p>
<pre class="lang-js prettyprint-override"><code>import {Component} from "react";
「./itemDisplay」からItemDisplayをインポートします;
「./item」からアイテムをインポートします。
import { test } from "./DB_functions";
class Search extends Component{
コンストラクター() {
素晴らしい();
this.state = {
アイテム: []
}
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(イベント) {
this.setState({値: イベント.ターゲット.値});
}
handleSubmit(イベント) {
console.log(this.state.value);
alert('名前が送信されました: ' this.state.value);// this の代わりに this.state.val を送り返します
var input = this.state.value.toLowerCase()
//AWS 製品内を検索
var mysql = require('mysql');
alert("SQL が必要です");
var sql = "SELECT * FROM products WHERE productName = ?"
var con = mysql.createConnection({
ホスト: 「[削除]」、
ユーザー: 「[削除]」、
パスワード: 「[削除済み]」、
ポート: '3306'、
データベース: "hs_db"
});
alert("接続が確立されました");
con.query(sql, input, function(err, result)
{
alert("クエリを送信しました");
もし(エラー)
エラーをスローします。
それ以外
var usersRows = JSON.parse(JSON.stringify(result));
for (let i = 0; i
ユーザーにフロントエンドのデータベースへのアクセスを許可しないでください。やりたいことを達成するには、バックエンド サーバーを作成し、HTTP リクエストを使用してバックエンド サーバーと通信する必要があります。
これを行う方法についてのチュートリアルは ここ にあります。