<p>我正在嘗試在我的網站中實現搜尋頁面。使用者應該能夠輸入關鍵字,並且網站應該從資料庫返回產品表中包含該關鍵字的行。 </p>
<p>當我嘗試建立與資料庫的連接時收到此錯誤</p>
<pre class="brush:php;toolbar:false;">_stream_writable.js:57 Uncaught ReferenceError: process is not defined
在 ./node_modules/mysql/node_modules/readable-stream/lib/_stream_writable.js (_stream_writable.js:57:1)
at options.factory (react refresh:6:1)
at __webpack_require__ (bootstrap:24:1)
at fn (hot module replacement:62:1)
at ./node_modules/mysql/node_modules/readable-stream/readable-browser.js (readable-browser.js:4:1)
at options.factory (react refresh:6:1)
at __webpack_require__ (bootstrap:24:1)
at fn (hot module replacement:62:1)
at ./node_modules/mysql/lib/protocol/sequences/Query.js (Query.js:7:1)
at options.factory (react refresh:6:1)</pre>
<p>這是 Search.jsx 檔案。我創造了</p>
從「react」導入{Component};
從“./itemDisplay”導入 ItemDisplay;
從“./item”導入專案;
從“./DB_functions”導入{測試};
類別搜尋擴展組件{
構造函數(){
極好的();
這個.狀態 = {
專案: []
}
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
處理更改(事件){
this.setState({value: event.target.value});
}
處理提交(事件){
console.log(this.state.value);
Alert('A name was Submitted: ' this.state.value);// 我們將 this.state.val 送到後面,而不是 this
var input = this.state.value.toLowerCase()
//在aws產品中搜尋
var mysql = require('mysql');
Alert("需要 SQL");
var sql = "從產品中選擇 * WHERE 產品名稱 = ?"
var con = mysql.createConnection({
主機:“[已刪除]”,
使用者:“[已刪除]”,
密碼:“[已刪除]”,
端口:'3306',
資料庫:“hs_db”
});
Alert(“已建立連線”);
con.query(sql,輸入,函數(錯誤,結果)
{
Alert(“查詢已發送”);
如果(錯誤)
拋出錯誤;
別的
var usersRows = JSON.parse(JSON.stringify(結果));
for (令 i = 0; i
永遠不要讓使用者在前端存取您的資料庫。為了完成您想做的事情,您需要建立一個後端伺服器並使用 HTTP 請求與其通訊。
您將找到有關如何執行此操作的教程 此處。