is_numeric($str) 用于数据库查询

Posted

技术标签:

【中文标题】is_numeric($str) 用于数据库查询【英文标题】:is_numeric($str) for database queries 【发布时间】:2012-05-25 05:17:30 【问题描述】:

基本上我的问题是,如果我有一个数字字符串,并且我要将它与数据库进行比较,这是一种安全/安全的检查方式。或者我应该只转义我的数字变量以及我的字符串(就像我已经做的那样)?

例子:

<?php
    $id = $_POST['id'];
    if(is_numeric($id))
        //database connectivity.    
    
?>

【问题讨论】:

【参考方案1】:

“数据库”非常通用,所以我假设您使用的是 mysql。只要您将$id 插入到查询中,它就会被转义(使用mysql_real_escape_string 或最好是准备好的语句),这是安全的。

【讨论】:

【参考方案2】:

“从 Tbl 中选择 Id = '”。 (int)$_POST['id'] ."'"

【讨论】:

以上是关于is_numeric($str) 用于数据库查询的主要内容,如果未能解决你的问题,请参考以下文章

PHP判断是否为数字型或是否为数字型字符串

is_numeric()

验证信用卡号

mysql 查询语句可以使用的函数总结

C# SQL语句查询出来的字段放入数组中

PHP 将字符串中的数字转化为数组