Php 将数组从post设置为公共数组

Php 将数组从post设置为公共数组,php,jquery,http-post,json,Php,Jquery,Http Post,Json,我的剧本有点问题 问题是,如果我有一个通过post获得的json数组,我想 将其设置为公共数组,以便我可以在函数之外使用它。 这是我的密码 Html代码: <input name="myValue"> PHP代码 <? if(isset($_POST["post"])){ $myVal = $_POST["post"]; $db = mysql_query("SELECT * FROM parts WHERE code = '$myVal'"); $result = m

我的剧本有点问题

问题是,如果我有一个通过post获得的json数组,我想 将其设置为公共数组,以便我可以在函数之外使用它。 这是我的密码

Html代码:

<input name="myValue">
PHP代码

<?

if(isset($_POST["post"])){

$myVal = $_POST["post"];

$db = mysql_query("SELECT * FROM parts WHERE code = '$myVal'");
$result = mysql_fetch_array($db);

echo json_encode($result); 
}    
?>
HTML代码

<input name="myValue">
<button name="getArrayValue">Get</button>
当我聚焦输入字段时,我从数组中的第二个值获取警报,当我按下按钮时,我从第三个数组位置获取值。 所以它现在起作用了


谢谢大家的帮助。

在查询数据库之前,您没有连接到数据库。如果没有连接到数据库,查询如何选择某个内容

在查询之前添加以下内容:

$username = //your DB username
$password = //your DB password

mysql_connect("localhost", $username, $password);
您真的应该使用一个未弃用的API,如PDO或MySQLi

编辑:

这非常简单:AJAX调用是异步的,因此在运行focusout处理程序后设置数组。这就是focusout上发生的情况:

调用focusout处理程序 您告诉jQuery进行AJAX调用,并提供一个函数,该函数应该在AJAX请求完成时运行。 focusout处理程序完成并尝试警告尚未设置的数组。 AJAX请求完成,jQuery调用您提供的函数。 然后在focusout处理程序之后很长一段时间内设置数组。
您正在使用不推荐使用的库和sql注入漏洞代码控制台中有错误吗?有PHP错误吗?你确定MySQL查询确实在选择什么吗?在查询之前,你甚至没有连接到数据库。我将数据获取到我的jquery,如果我在post中提醒JsonArry,我会看到我从php中获得的数据,但是如果我在POSTFunciron之外提醒myArray,我会得到未定义的数据。你将警报语句resp放在哪里。你什么时候叫它…?这不是问题,我有,我确实从phpAh得到了数组。你是怎么证实的@NamirDžilić如果我在post函数内警告我的JsonArray,我可以在屏幕上看到数据,但是如果我在foucusout函数外警告myArray,我会得到未定义的数据。真正的代码不易受攻击这是代码的简单版本。但我认为这应该将myArray设置为JsonArray。啊,现在我知道怎么了。让我来编辑一下@NamirDžilić我不知道我做了什么,但它现在起作用了。我将把我刚刚编写的代码添加到源代码中。
<input name="myValue">
<button name="getArrayValue">Get</button>
$username = //your DB username
$password = //your DB password

mysql_connect("localhost", $username, $password);