Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AJAX MySQL更改输入值_Php_Mysql_Json_Ajax - Fatal编程技术网

Php AJAX MySQL更改输入值

Php AJAX MySQL更改输入值,php,mysql,json,ajax,Php,Mysql,Json,Ajax,我试图根据MySQL查询的结果更改两个文本框的值。 我有以下错误: 未捕获范围错误:超过最大调用堆栈大小 PHP文件: <?php if(!isset($_SESSION)){ session_start(); } require 'config.php'; $stmt2 = mysqli_prepare($link, "SELECT firstname, lastname FROM users WHERE id=?"); if(!$stmt2

我试图根据MySQL查询的结果更改两个文本框的值。 我有以下错误:

未捕获范围错误:超过最大调用堆栈大小

PHP文件:

<?php

    if(!isset($_SESSION)){
        session_start();
    }

    require 'config.php';

$stmt2 = mysqli_prepare($link, "SELECT firstname, lastname FROM users WHERE id=?");
if(!$stmt2) {
    die($link->error);
}
$stmt2->bind_param("i", $_SESSION['id']);
if(!$stmt2->execute()) {
    die($stmt2->error);
}
$stmt2->bind_result($fname, $lname);
$stmt2->fetch();
$stmt2->close();

$arr = array();
$arr[0] = $fname;
$arr[1] = $lname;

echo json_encode($arr);

$link->close();
?>
如何解决此错误?我想从select查询返回值并更新输入值。谢谢。

数据:表单试图将元素转换为url编码的数据,但无效。由于PHP脚本不使用任何POST参数,因此不需要该行

还应使用event.preventDefault阻止默认表单提交

要填充字段,需要使用.val,而不是.html


您没有发布任何值,因此应该使用$.getJSON。将php放在文件getUserDetails.php中,并使用val jQuery方法更新输入值

$('#submit').click(function () {
    $.getJSON("getUserDetails.php").done(function(json) {
        $("#userfname").val(json[0]);
        $("#userlname").val(json[1]);
    });
});

同时更改此属性

使用.val更改输入值,而不是.html.data:form,这没有意义。PHP脚本不使用任何POST参数,您不需要使用数据:已回答:-简而言之,你可能有相同的JS称为多次为什么这是公认的答案,因为一篇帖子是不需要的?它会工作得很好。GET也会遇到缓存问题,尽管这在这个应用程序中可能不是问题。
    $('#submit').click(function (e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "index.php",
            dataType: "json",
            success: function (data) {
                $("#userfname").val(data[0]);
                $("#userlname").val(data[1]);
            }
        });
    });
$('#submit').click(function () {
    $.getJSON("getUserDetails.php").done(function(json) {
        $("#userfname").val(json[0]);
        $("#userlname").val(json[1]);
    });
});