Php 如何构建id检查器

Php 如何构建id检查器,php,android,mysql,Php,Android,Mysql,在尝试了我自己之后,我有点失败了,我基本上需要构建一个PHP+SQL系统,在这个系统中,我传递的只是一个ID,看看这个ID的许可证是否已经过期 如果尚未过期,则将其许可证向下重写1。 (许可证应在20点开始发放) 所以基本上: (通过字符串ID从android设备连接后) 连接到数据库 连接到表(表具有ID和许可证字段) 检查ID是否在数据库中 如果id在数据库中,则 检查它的许可证 如果其许可证为=0,则停止所有操作并返回“false” 如果许可证>0,则选择许可证-1并返回“true”

在尝试了我自己之后,我有点失败了,我基本上需要构建一个PHP+SQL系统,在这个系统中,我传递的只是一个ID,看看这个ID的许可证是否已经过期

如果尚未过期,则将其许可证向下重写1。 (许可证应在20点开始发放)

所以基本上: (通过字符串ID从android设备连接后)

  • 连接到数据库
  • 连接到表(表具有ID和许可证字段)
  • 检查ID是否在数据库中
  • 如果id在数据库中,则
  • 检查它的许可证
    • 如果其许可证为=0,则停止所有操作并返回“false”
    • 如果许可证>0,则选择许可证-1并返回“true”
  • 如果ID不在数据库中
  • 然后将ID插入许可证值为
    20
    的表中,并返回
    true

  • 我已经很长时间没有使用标准的mysql函数调用了,请放心

    //Connect stuff has been done...
    $query = "SELECT ID, license
              FROM table
              WHERE ID = '$someID'";
    $result = query($query);
    if($result->rowCount() > 0){
      $row = $result->fetch();
      if($row['license'] == 0)
        return false;
      else{
        $license = $row['license'] - 1;
        $query = "UPDATE table SET license = '$license' WHERE ID = '$someID'";
        query($query);
        return true;
      }
    }
    else{
       $query = "INSERT INTO table(ID, license) VALUES('$someID', 20)";
       query($query);
       return true;
    }
    

    我已经很长时间没有使用标准的mysql函数调用了,请放心

    //Connect stuff has been done...
    $query = "SELECT ID, license
              FROM table
              WHERE ID = '$someID'";
    $result = query($query);
    if($result->rowCount() > 0){
      $row = $result->fetch();
      if($row['license'] == 0)
        return false;
      else{
        $license = $row['license'] - 1;
        $query = "UPDATE table SET license = '$license' WHERE ID = '$someID'";
        query($query);
        return true;
      }
    }
    else{
       $query = "INSERT INTO table(ID, license) VALUES('$someID', 20)";
       query($query);
       return true;
    }
    
    伪码

    query = select license from table where id=:id
    if count(query) {
        if (license <= 0) {
            return false
        }
        license--;
        update table set license=:license where id=:id
        return true
    }
    else {
        insert into table(id, license) values(:id, 20)
        return true
    }
    
    query=从id=:id的表中选择许可证
    如果计数(查询){
    如果(许可证伪代码

    query = select license from table where id=:id
    if count(query) {
        if (license <= 0) {
            return false
        }
        license--;
        update table set license=:license where id=:id
        return true
    }
    else {
        insert into table(id, license) values(:id, 20)
        return true
    }
    
    query=从id=:id的表中选择许可证
    如果计数(查询){
    
    如果(许可证)难以理解这个问题,请输入一些代码或sudo代码,以帮助理解您试图实现的目标。我有一个应用程序(android),需要在运行时检查其许可证。因此,我需要一个运行我的应用程序的用户数据库,并检查他们的许可证是否正确valid@tsegay我不明白“sudo”代码你指的是Galen的伪代码:DHard要理解这个问题,请输入一些代码或sudo代码来帮助理解你想要实现的目标。我有一个应用程序(android)这需要在运行时检查其许可证。因此,我需要一个运行我的应用程序的用户数据库,并检查他们的许可证是否有效valid@tsegay我不明白“sudo”代码你指的是Galen的伪代码:数据这上面写满了sql注入是的,但我只是想传达这个概念。他说的是在sql语句中使用php变量。你必须正确地转义这些值,否则人们可能会对你的数据库做坏事。ID会被用户输入吗?如果是,你不能直接使用它这整个过程将不会有用户进行交互,一切都是通过progrimatically@jaime:你把实际的代码放进去了。我想确保他没有复制并粘贴这个。这上面写满了sql注入是的,但我只是想传达这个概念。他说的是使用php变量sql语句中的变量。您必须正确转义这些值,否则人们可能会对您的数据库进行恶意攻击。ID是否由用户输入?如果是,您不能立即在查询中使用它。不,整个过程不会由用户进行交互,所有操作都是通过progrimatically@jaime:你把实际的代码in、 我想确保他没有复制粘贴这个。