如果存在mysql行A值,则使用PHP将行B值更改为1

时间:2013-07-22 19:56:21

标签: php mysql

这个问题可能已被问到。所以,我道歉。我无法使用我的搜索查询找到它。无论如何我正在研究许可服务器。基本思想是电子邮件用户激活码和链接。当用户在文本字段中键入激活代码时,它会比较存储在mysql数据库中的代码,如果匹配,则将另一个字段从0更改为1.

有人能为我提供一个例子吗?

1 个答案:

答案 0 :(得分:2)

  1. 不知何故,您应该将数据发送到服务器(ajax或常规发布/获取方法)
  2. 服务器端的
  3. : 2.1。首先清理输入数据。例如,您可以使用此功能(来自http://www.catswhocode.com/blog/10-awesome-php-functions-and-snippets):

    function cleanInput($ input){

    $ search = array(     '@] ?>。?@ si',//删除javascript     '@< [/!] ?[^<>] ?> @si',//删除HTML标签     '@] ?>。?@ siU',//正确地剥离样式标签     '@@'//删除多行注释   );

    $output = preg_replace($search, '', $input);
    return $output;
    

    }

  4. 2.2。在db中搜索代码:

    $code = cleanInput($_POST['code']);
    $query = "SELECT * FROM `codes` WHERE `code`='.$code.'";
    $result = $mysqli->query($query);
    

    2.3。检查是否找到了代码:

    if ($result != FALSE AND $result->num_rows>0) { /*code was found , you can do something */ 
    $code_field = $result->fetch_object();
    $value = 1; // 0 or 1 
    $updt_query = "UPDATE `some_tbl` SET `some_field`=".$value." WHERE id=".$code_field->id;
     $mysqli->query($upd_query);
    }