簡體   English   中英

我可以在前端 Javascript 中運行 SQL 查詢嗎?

[英]Can I run a SQL query in frontend Javascript?

我想在 .JS 文件中運行 SQL 查詢。 我嘗試向其中添加一些 PHP 代碼,但它當然沒有用。

我想運行 SQL 查詢: SELECT price FROM list WHERE q=1 我想在圖表中顯示價格。 有誰知道如何在 .JS 文件中運行此 SQL 查詢,以便從數據庫中獲取商品價格?

我正在使用以下 JavaScript 代碼:

 /* Morris.js Charts */
  // Sales chart
  var area = new Morris.Area({
    element: 'revenue-chart',
    resize: true,
    data: [
      {y: '2016 Q1', item1: 5000, item2: 4460},
      {y: '2016 Q2', item1: 8432, item2: 5713}
    ],
    xkey: 'y',
    ykeys: ['item1', 'item2'],
    labels: ['Item 1', 'Item 2'],
    lineColors: ['#a0d0e0', '#3c8dbc'],
    hideHover: 'auto'
  });
  var line = new Morris.Line({
    element: 'line-chart',
    resize: true,
    data: [
      {y: '2015 Q4', item1: 0},
      {y: '2016 Q1', item1: 5000},
      {y: '2016 Q2', item1: 8432}
    ],
    xkey: 'y',
    ykeys: ['item1'],
    labels: ['Item 1'],
    lineColors: ['#efefef'],
    lineWidth: 2,
    hideHover: 'auto',
    gridTextColor: "#fff",
    gridStrokeWidth: 0.4,
    pointSize: 4,
    pointStrokeColors: ["#efefef"],
    gridLineColor: "#efefef",
    gridTextFamily: "Open Sans",
    gridTextSize: 10
  });

您無法使用javascript執行查詢,因為javascript無法直接與您的數據庫連接,但您可以使用AJAX。 使用此技術,您將能夠向PHP(或其他服務器端語言)頁面發送請求,該頁面駐留可以對您的數據庫執行查詢的代碼並返回此查詢的結果。

您可以在此處找到有關客戶端服務器的一些信

https://spin.atomicobject.com/2015/04/06/web-app-client-side-server-side/

http://www.codeconquest.com/website/client-side-vs-server-side/

你可以在這里找到很多關於ajax的有用信息:

https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started

查看jQuery以管理Ajax調用: http//api.jquery.com/jquery.ajax/

編輯你可以使用服務器端的JavaScript來訪問你的數據庫, 在這里你可以找到一篇關於MySql Cluster的好文章。 簡而言之:

用於Node.js的MySQL Cluster JavaScript驅動程序就像它聽起來一樣 - 它是一個可以直接從您的JavaScript代碼調用來讀取和寫入數據的連接器。 當它直接訪問數據節點時,通過MySQL服務器沒有額外的延遲,需要將JavaScript代碼//對象轉換為SQL操作。 如果由於某種原因,您更喜歡它通過MySQL服務器(例如,如果您在InnoDB中存儲表),那么可以配置它。

您不能直接從客戶端JS連接到Mysql,而只能從服務器端JS連接到Mysql,例如node 它可以像PHP連接使用PDO或mysqli擴展,運行您的查詢,然后將信息傳遞給客戶端JS。

在JS旁邊執行您的查詢並在javascript中傳遞價格。

示例:

$res_price = $conn -> query("SELECT price FROM list WHERE q=1");
$row_price = mysqli_fetch_assoc($res_price);

echo $row_price['price'];

現在在Javascript中添加Like,

<?php echo $row_price['price']; ?>

如果你想添加多個價格,那么你可以通過數組管理它也制作價格數組並將其傳遞給js。

你不能用javascript直接連接到mysql,但你可以在這樣的javascript中回顯你的php變量..

 var area = new Morris.Area({
element: 'revenue-chart',
resize: true,
data: [
  {y: '2016 Q1', item1: <?php echo $price ?>, item2: <?php echo $price ?>},
  {y: '2016 Q2', item1: 8432, item2: 5713}
]

你可以覆蓋php腳本中的整個javascript。

這將在執行時替換為這樣。

{y: '2016 Q1', item1: 12054, item2: 65242},

MyServerless 可以直接在 js 中編寫 Java 和 SQL,如下所示:

從“@/myserverless/myserverless.js”導入 * 作為我的

my.$qryString(`#AdminRole select * from user where user_id=?`, 123);

用 JS 寫 SQL 是不安全的,但是對於開發階段是可以的,訣竅是在部署之前,從前端提取 SQL 到后端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM