将 Array String 转换为 Int 总是得到 return int(1)

我尝试使用 intval 将我的字符串数组转换为 INT 但是结果/返回总是int(1) 而数据库值为 14698


我的数据库:


+-------+---------+------+-----+---------+----------------+

| Field | Type    | Null | Key | Default | Extra          |

+-------+---------+------+-----+---------+----------------+

| id    | int(11) | NO   | PRI | NULL    | auto_increment |

| curr  | char(3) | NO   |     | NULL    |                |

| rate  | int(11) | NO   |     | 0       |                |

+-------+---------+------+-----+---------+----------------+


+----+------+-------+

| id | curr | rate  |

+----+------+-------+

|  1 | USD  |     1 |

|  2 | IDR  | 14698 |

|  3 | JPY  |   112 |

|  4 | EUR  |     1 |

|  5 | THB  |    33 |

+----+------+-------+

这是我的 crudQuery.php 页面:


    <?php


require 'config.php';


if (isset($_POST['save'])) {


    require_once 'functions.php';


    $qty = $_POST['qty'];

    $qty = (int) $qty;

    $curr = $_POST['curr'];

    $price = $_POST['price'];

    $price = (int) $price;


    $rate = queryInt("SELECT rate FROM rate_master WHERE curr = '$curr'");


    var_dump($rate);echo $rate[0];

这是我的functions.php页面:


<?php

require 'config.php';


    function queryInt($query) {

        global $conn;

        $result = mysqli_query($conn, $query);

        $rows = [];

        while ($row = mysqli_fetch_assoc($result)) {

            $rows [] = intval($row); 

        }

        return $rows;

    }

然后, var_dump 的结果是:


array(1) { [0]=> int(1) } 1

我应该做什么,以便从数据库中返回值而不是 1 ?


UYOU
浏览 112回答 1
1回答

月关宝盒

while ($row = mysqli_fetch_assoc($result)) {&nbsp; &nbsp; $rows [] = intval($row);&nbsp;}mysqli_fetch_assoc返回一个数组,您不能将一个数组“转换为 int”,并期望它有一个有意义的结果。intval($row)需要是intval($row['rate'])
打开App,查看更多内容
随时随地看视频慕课网APP