gpt4 book ai didi

php - 将变量从 javascript 传递到 php get 语句

转载 作者:行者123 更新时间:2023-11-28 09:54:11 25 4
gpt4 key购买 nike

我在之前的帖子中查找过此问题,因此如果已得到答复,我深表歉意。我的 javascript 如下,其中 data 参数是一个字符串,引用 MySQL 数据库中的表:

    getData("UKnatgas");

function getData(data){
$.getJSON("service.php?action="+data, function(json) {
$.each(json.UKnatgas,function() {
var info = this.UKnatgas;
$('#UKnatgas').append( info );
});
});
}

首先,我想将字符串“UKnatgas”传递到子 $.each 函数中,以便它读取:

$.each(json.data,function() {
var info = this.data;
$('#data').append( info );
});

但这不起作用?你能告诉我为什么吗?

第二部分是删除 php 文件中“UKnatgas”的所有实例:

  if($_GET){
if($_GET['action'] == 'UKnatgas'){
$query = "SELECT UKnatgas FROM UKnatgas order by Date DESC Limit 1 ";
$result = db_connection($query);

$UKnatgas = array();

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
array_push($UKnatgas, array('UKnatgas' => $row['UKnatgas']));
}
echo json_encode(array("UKnatgas" => $UKnatgas));
exit;
}
}

总而言之,我想用一个字符串初始化函数 getData(data),该字符串传播到 javascript 函数,然后传播到 php 文件。这可能吗?

谢谢!

最佳答案

PHP 很简单,尽管我允许对错误进行某种类型的检查,甚至在您放置用户可编辑字符串时检查黑客尝试。这可能允许 MySQL 注入(inject),所以要小心。

如果可以的话,尽可能使用mysql_real_escape_string。有关更多信息,请参阅链接:http://www.php.net/manual/en/function.mysql-real-escape-string.php

if($_GET['action']){
$query = "SELECT `".$_GET['action']."` FROM `".$_GET['action']."` order by Date DESC Limit 1 ";
$result = db_connection($query);

$actionArray = array();

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
array_push($actionArray, array($_GET['action'] => $row[$_GET['action']]));
}
echo json_encode(array($_GET['action'] => $actionArray));
exit;
}

不太确定,但这应该适用于 JSON

$.each(json, function(key, val) {
$('#'+data).append( val );
});

http://api.jquery.com/jQuery.getJSON/

我在您的情况下进行了测试,您需要执行以下操作才能访问数据。现在,这是使用 JSON 作为关联数组,但事实并非如此,但不是 100% 如何做到这一点。

function getData(data) { 
$.getJSON("service.php?action="+data, function(json) {
$.each(json[data], function() {
var info = this[data];
$('#'+data).append( info );
});
});
}

关于php - 将变量从 javascript 传递到 php get 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com