zoukankan      html  css  js  c++  java
  • sql查询自然数判断

    SELECT * FROM table WHERE id=$id

    1、isset是为了你避免notice级别的警告,is_numeric是因为不加引号情况,$id必须是数值类型,不然sql查询会报错。

    2、虽然id设定为主键自增的非0自然数(正整数),但是用小数,0,负数并不会报错,只会查不到数据,十六进制可以正常使用。

    当然用 (int) $_GET['id']代替is_numeric也是可以的。

    3、最后不能忘了查询数据为空的情况

    总结,由于3托底,在数据库正常的情况,用is_numeric或int避免不带引号的错误,带了引号的话,没有is_numeric或int也可以接受。

    if (isset($_GET['id']) && is_numeric($_GET['id'])) {
      $id = $_GET['id'];
      $data = fun("SELECT * FROM table WHERE id=$id");
      if ($data) {
        ...
      } else {
        ...
      }
    } else { ... }
    $id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
    $data = fun("SELECT * FROM table WHERE id=$id");
    if ($data) {
      ...
    } else {
      ...
    }

  • 相关阅读:
    HDU
    HDU
    (4)数据--相似性与相异性
    (3)数据--操作
    (2)数据--基本概念
    五、按生命周期划分数据(二)
    五、常用数据类型(一)
    四、坏耦合的原因与解耦(三)
    四、强化耦合(二)
    四、初识耦合(一)
  • 原文地址:https://www.cnblogs.com/webkb/p/13145143.html
Copyright © 2011-2022 走看看