显示准备好的语句的结果

叶夫根尼·雷兹尼克(Evgenij Reznik)

我有下表:

| id | name  | age |
|----|-------|-----|
| 1  | Peter | 23  |
| 2  | Amie  | 34  |
| 3  | Eddy  | 45  |
| 4  | Peter | 56  |
| 5  | Eddy  | 67  |

我现在想检索名称为的所有用户的年龄Peter

JS:

function getAge() {
    $.ajax({
        type : "POST",
        url : "backend.php",
        data : {
            q : "user",
            name : 'Peter'
        },
        success : function(data) {
            console.log(data)
            if (data.length > 0) {

            } else {
                console.log("empty")
            }
        },
        error : function(jqXHR, status, error) {
            console.log(status, error);
        }
    });
}

PHP:

if (isset ( $_POST )) {
   if ($_POST ['q'] == "user") {
        $name = $_POST ["name"];

        $stmt = $link->prepare ( "SELECT age FROM tab1 WHERE name= ?" );

        $stmt->bind_param ( "s", $name );
        $stmt->execute ();
        $stmt->store_result ();

        if ($stmt->num_rows >= 1) {
            echo "Yes"; // only this Yes is being returned
            $arr = array ();
            while ( $stmt->fetch () ) {
                $arr [] = $name;
            }
            return $arr;
        } else {
            echo "0 records found";
        }

        $link->close ();
}

而不是用23and组成的数组56,我只得到了一个Yes

那么,如何才能获得与时俱进的阵列呢?

初学者

只需将其添加到您的php函数中即可。这意味着您想将json返回此页面

header('Content-Type: application/json');

将您的返回$ arr更改为echo json_encode($ arr); 将您的数组转换为json对象,还删除了回显“是”;

echo json_encode($arr);

您的php函数将如下所示

if (isset ( $_POST )) {
   if ($_POST ['q'] == "user") {
        header('Content-Type: application/json');
        $name = $_POST ["name"];

        $stmt = $link->prepare ( "SELECT age FROM tab1 WHERE name= ?" );

        $stmt->bind_param ( "s", $name );
        $stmt->execute ();
        $stmt->store_result ();

        if ($stmt->num_rows >= 1) {
            $arr = array ();
            while ( $stmt->fetch () ) {
                $arr [] = $name;
            }
            echo json_encode($arr);
        } else {
            echo "0 records found";
        }

        $link->close ();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查准备好的语句PDO的结果?

来自分类Dev

PDO准备好的语句fetch()返回双精度结果

来自分类Dev

如何使mysqli准备好的语句并获取结果?

来自分类Dev

PDO准备好的语句未返回结果

来自分类Dev

如何使mysqli准备好的语句并获取结果?

来自分类Dev

MySQL选择准备好的十大结果语句

来自分类Dev

MySQL查询准备好的语句不返回任何结果

来自分类Dev

处理没有从准备好的选择语句返回的结果

来自分类Dev

使用准备好的语句 mysqli 获取查询结果

来自分类Dev

提取准备好的语句

来自分类Dev

准备好选择语句后如何显示单行

来自分类Dev

sql准备好的语句不显示输出

来自分类Dev

使用准备好的语句和 fetchAll() 显示到表

来自分类Dev

准备好的SQL语句未“准备”

来自分类Dev

在准备好的语句中准备失败

来自分类Dev

准备好的语句计数返回行数

来自分类Dev

准备好的语句何时会失败?

来自分类Dev

嵌套MySQLi准备好的语句

来自分类Dev

准备好的语句bindparam错误

来自分类Dev

使用准备好的语句登录Servlet

来自分类Dev

使用准备好的语句更新

来自分类Dev

MySQL Connector中的准备好的语句

来自分类Dev

MySQL准备好的语句语法

来自分类Dev

mysqli函数内部准备好的语句

来自分类Dev

准备好的语句中的异常

来自分类Dev

准备好的语句不起作用

来自分类Dev

Like子句和准备好的语句

来自分类Dev

运行准备好的语句(MySQL / PHP)

来自分类Dev

mysql准备好的语句错误:MySQLSyntaxErrorException