xman81 发表于 2009-10-7 16:33:56

试做登陆块出错!!

登陆页html:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>后台管理</title>
<link href="<?= $title?>system/application/views/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="con">
<?= form_open('ackground_t/validate') ?>
<div class="input_text">密__码:<input name="p" type="password" maxlength="20"/></div>
<inputtype="submit" id="input_b" value="登 陆"   />
</form>

</div>

控制块:

function validate()
{
   $nick_p=$this->input->post('p',TRUE);
   $sql = "SELECT id FROM user WHERE pas = $nick_p";
    $quer=$this->db->query($sql);
       if ($quer->num_rows()> 0 )
      {
          $this->load->view('ackground_m',$nick);
      }
      
}

数据库:字段用utf8_unicode_ci

当密码输入字符为字母时报:

A Database Error Occurred
Error Number: 1054
Unknown column 'd' in 'where clause'
SELECT id FROM user WHERE pas = d

请问是什么问题啊?

visvoy 发表于 2009-10-7 16:37:59

$sql = "SELECT id FROM user WHERE pas = '$nick_p'";

xman81 发表于 2009-10-7 16:50:01

哦!谢谢版主

xman81 发表于 2009-10-7 17:09:52

但是当html改成
<div class="input_text">用户名:<input name="p" type="text" maxlength="20"/></div>
控制块改成:

function validate()
{
   $nick_p=$this->input->post('p',TRUE);
   $sql = "SELECT id FROM user WHERE name = $nick_p";
    $quer=$this->db->query($sql);
       if ($quer->num_rows()> 0 )
      {
          $this->load->view('ackground_m',$nick);
      }
      
}

输入中文字符,不能找到记录,但数据库内确有此记录?

visvoy 发表于 2009-10-7 20:25:36

$sql = "SELECT id FROM user WHERE pas = '$nick_p'";

Hex 发表于 2009-10-7 21:33:11

还是基础知识最重要啊!呵呵
页: [1]
查看完整版本: 试做登陆块出错!!