php - chrome连接mysql

标签 php mysql google-chrome-extension

我做了一个连接到 mysql 的 chrome 扩展,然后显示结果。

我有凭证(ajax.js、consulta.php 和 consulta_empleados.html)。当我从 http://localhost/ajax/consulta_empleados.html 开始时它有效但是当我执行扩展时它没有显示结果,它显示了 php 代码并且它会有显示查询结果。

看这个: enter image description here

我该怎么做?

这里的代码(简单的 ajax 和 php):

list

{
"name": "demo",
"version": "1.0",
"description": "Making your first Google Chrome extension.",
"icons":{
    "128":"icon_128.png"
},

"browser_action":   {
    "default_icon": "icon.png",
    "popup": "consulta_empleados.html"
}

consulta_empleados.html

<html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <title>Consulta Registro con AJAX</title>


  <!-- referenciamos al archivo ajax.js donde se encuentra nuestra funcion objetoAjax-->

    <script language="JavaScript" type="text/javascript" src="ajax.js"></script>

    </head>


    <body onLoad="MostrarConsulta('consulta.php')">



  <div id="resultado"></div>

  </body>

</html>    

ajax.js

// JavaScript Document function objetoAjax(){
        var xmlhttp=false;
        try {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
                try {
                   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (E) {
                        xmlhttp = false;
                }
        }

        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp; }

function MostrarConsulta(datos){
        divResultado = document.getElementById('resultado');
        ajax=objetoAjax();
        ajax.open("GET", datos);
        ajax.onreadystatechange=function() {
                if (ajax.readyState==4) {
                        divResultado.innerHTML = ajax.responseText
                }
        }
        ajax.send(null) }

咨询.php

<?php //Configuracion de la conexion a base de datos $bd_host = "localhost";  $bd_usuario = "root";  $bd_password = "";  $bd_base = "tic"; 

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); 

mysql_select_db($bd_base, $con); 

//consulta todos los empleados

$sql=mysql_query("SELECT name FROM usuarios",$con);

//muestra los datos consultados echo "</p>Nombres </p>"; while($row = mysql_fetch_array($sql)){
        //echo "<p>".$row['nombres']." - ".$row['departamento']." - ".$row['sueldo']."</p> n";      echo "<p>".$row['name']."</p>"; } ?>

谢谢

最佳答案

嗯。实际答案是:发生这种情况是因为您尝试相对于扩展程序的基本 URL 加载“consulta.php”。并且只有从 http://localhost/... 而不是 chrome-extension://yourExtensionId/... 调用你的 php 代码才能执行

其次 - 无需实现 ActiveX 对象来获取 XMLHttpRequest 对象 - 您只需在 Google Chrome 中使用新的 XMLHttpRequest

关于php - chrome连接mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10961730/

相关文章:

php - 警告 : imagejpeg() [function:imagejpeg]: gd-jpeg: JPEG library reports unrecoverable error

php - WP-ADMIN 重定向循环

mysql - 一对一关系中的实体可以只有一个外键作为 ERM 中的主键吗?

php - 从本地 MySQL 自动填充外部站点上的表单字段

javascript - 谷歌浏览器扩展中的 JS 模板( list v2)

javascript - 在 Chrome 扩展程序中在后台执行多个 ajax 请求

php - 获取当前的类和方法?

php - 如何通过 PHP 加载 HTML 文件并从 mySQL 插入数据?

mysql - 带有 IN 和 SELECT 子查询的 CASE

javascript - 如何通过 jQuery 和 Ajax 将 Google 表单数据发布到电子表格