php比较POST ['integer string']与数据库中的整数

时间:2018-10-03 09:47:18

标签: php types comparison

我有一个来自POST形式的整数。我知道所有POST变量都是字符串。

假设我想将此POST ['integer string']与数据库中的整数进行比较: my_page_action.php =>

$query = "SELECT amount FROM table where id=:id";
$stmt = $conn_p->prepare($query);
$stmt->execute(array(':id' => $id));
$data = $stmt->fetch();

if ( ! empty($data)) {

    if ($data['amount'] != $_POST['amount']) {
        header("location:my_page.php?msg=Invalid Amount");
        exit();
    }
} else {
    header("location:my_page.php?msg=Invalid Record");
    exit();
}

2 个答案:

答案 0 :(得分:1)

变量的类型可能不同,在这种情况下,我使用的是float,但是您可以使用intval,stringval等:

if (floatval($data['amount']) != floatval($_POST['amount'])) {

答案 1 :(得分:1)

您可以使用intval($_POST['amount']而不是$_POST['amount'],请参阅http://php.net/manual/en/function.intval.php

您还具有等效于float的floatval(http://php.net/manual/en/function.floatval.php