来自chrome扩展的MySql连接

时间:2014-04-23 13:40:21

标签: javascript php mysql google-chrome google-chrome-extension

我有一个Chrome扩展程序,它与Arduino Uno通过串行连接进行通信,我想从在线mysql数据库中检索命令。我是javascript编程的新手,我无法通过扩展来了解如何访问我的数据库。 这是我的php代码(它显示了存储在数据库中的消息):     

 if (!empty($_POST)) {
      if (empty($_POST['label'])) {

        $response["success"] = 0;
        $response["message"] = "Inserisci la pass!";


        die(json_encode($response));
    }

    $pass = '***';

    if ($_POST['label'] == $pass) {

    $cn = mysql_connect("localhost", "***", "***");

    mysql_select_db("***", $cn);




$result = mysql_query("SELECT Messaggio FROM tesinafrax ORDER BY numero DESC LIMIT 1"); 

while($row = mysql_fetch_array($result))
{
  $queried_mex = $row['Messaggio'];
  echo json_encode($queried_mex);

 } } else {        $response["success"] = 0;
    $response["message"] = "Inserisci la pass!";

       die(json_encode($response));
 }
 exit;
  }else{
?> 

<h1>Inserisci pass</h1> 
<form method="post" action="leggimex.php">
 <input name = "label" type="text"><button name="vedi"
>vedi</button></form>

<?php
 }
 ?>

那么我如何打开php,在文本框中写入密码并解析json响应以获取我本地chrome扩展的字符串变量?

1 个答案:

答案 0 :(得分:1)

你不能(直接)这样做。您可以做的是在PHP中设置REST API并使用Chrome扩展程序中的Ajax与您的API进行交互。

从高级别开始,流程将是:(客户端)Chrome扩展程序需要您数据库中的字符串 - &gt;向您的PHP API发送Ajax请求(例如,yourserver / getstring) - &gt; (后端)您的API收到请求并从您的数据库中获取字符串 - &gt; PHP API返回JSON响应 - &gt; (客户端)Ajax请求完成,现在您将字符串作为javascript变量。

这可能看起来很多,但它可能是最好的方式。好消息是REST API / Javascript是一个非常受欢迎的主题,因此有很多很好的资源,它只需要进行一些研究。

对于你的PHP后端,我会结帐SlimPHP。对于Ajax部分,您可以使用jQuery或仅使用vanilla Javascript。