我正在尝试查询 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/