php - 如何查询MySQL并从PHP返回值到JQuery

标签 php jquery mysql

我正在尝试查询 MySQL 以查看表中是否存在产品编号。我正在使用 .get() JQuery 方法,但无法获得正确的返回值。

本质上,我想查看“partNumber”是否在数据库中,如果是,请将其添加到 HTML 中。 我从各个站点理解的方式是,.get() 中成功函数的参数是存储 PHP 返回值的位置,所以我希望 'found' 保存

mysql_query("SELECT Part Number FROM Part List WHERE Part Number =  $part_number");

事实并非如此,“found”实际上保存了整个“widget.php”页面。我不确定我的错误是在服务器端还是客户端。

jQuery:

$(document).ready(function(){
    var partNumber = buildPartNumber();
    $.get("widget.php", partNumber, function(found) {
        if(found) {
            $('#partNumber').html(partNumber);  
        }
        else {
            $('#partNumber').html("Sorry, we do not carry a product matching these specifications.")
        }
    });
}

PHP:

<?php
   $hostname="hhh";
   $database="ddd";
   $username="uuu";
   $password="ppp";

   $link = mysql_connect($hostname, $username, $password);
   mysql_select_db($database, $link);
   $part_number = $_GET["partNumber"];
   return mysql_query("SELECT Part Number FROM Part List WHERE Part Number =  $part_number");
   mysql_close($link);
?>

最佳答案

好的,这里有一些问题:

  • 您尚未发布函数 buildPartNumber(),但如果该函数返回零件编号,则错误,您需要发送键值对,例如:{'partNumber': your_part_number} ;
  • 当您想将 php 中的内容返回到 javascript/jQuery 时,您需要echo 它们;
  • 您遇到 SQL 注入(inject)问题;
  • 如果partNumber是字符串而不是整数,则需要用引号引起来;
  • 您不能将 - 已弃用 - mysql_query 的结果返回到 javascript/jQuery。您需要获取一行并返回该行的信息(或整个行,例如 JSON)。在你的情况下,一个真实的值就可以了;
  • 正如 @Fred-ii- 正确指出的那样,您需要用反引号引用其中包含空格的表名。

关于php - 如何查询MySQL并从PHP返回值到JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25456640/

相关文章:

javascript - 我的表单上的 React 生成按钮不断刷新页面

javascript - jQuery 将参数传递给 .ajax()

php - 如何绕过php中的最大执行时间?

php - 使用数组中的多个标记初始化谷歌地图

PHP, MySQL | Windows 与 Linux

php - PHP 中的 cURL 代码将输出转储到页面

php - 在 php 中使用 "Add To Cart"链接运行 SQL 命令

javascript - html 从 OSX 上的特定路径上传图像

mysql - 获取我的 MySQL 数据库表中未列出的第一个可用数字

mysql - mysql中的只读表