2009-09-28 103 views
0

我能够在下面的代码中生成activation_key。但我无法将其插入表格中。空值被插入到表中。 我在做什么错? (使用PEAR文本的密码和其他扩展)将变量插入表

   $activation_key = Text_Password::createFromLogin($data['email'], 'rot13'); 
       $sql = "INSERT INTO auth (firstname, lastname,gender,dob,mobileno,landlineno,addressline1,addressline2,addressline3,country,state,city,pincode,email,username,password,question,answer,activation_key) 
       VALUES ('" . $db->escapeSimple($data['firstname']) . "','" 
            . $db->escapeSimple($data['lastname'])."','" 
            . $db->escapeSimple($data['gender'])."','" 
            . $db->escapeSimple($data['dob'])."','" 
            . $db->escapeSimple($data['mobileno'])."','" 
            . $db->escapeSimple($data['landlineno'])."','" 
            . $db->escapeSimple($data['address1'])."','" 
            . $db->escapeSimple($data['address2'])."','" 
            . $db->escapeSimple($data['address3'])."','" 
            . $db->escapeSimple($data['country'])."','" 
            . $db->escapeSimple($data['state'])."','" 
            . $db->escapeSimple($data['city'])."','" 
            . $db->escapeSimple($data['pin'])."','" 
            . $db->escapeSimple($data['email'])."','" 
            . $db->escapeSimple($data['username'])."','" 
            . md5($db->escapeSimple($data['pwd']))."','" 
            . $db->escapeSimple($data['question'])."','" 
            . $db->escapeSimple($data['answer']). "', '" 
            . $db->escapeSimple($data['activiation_key'])."')"; 
      $db->query($sql); 
+0

,你是否尝试打印出值在查询的VALUES(...)部分内? – 2009-09-28 06:11:33

+0

activation_key变量正在生成。因为我正在收到一封包含该代码的电子邮件。问题在于sql查询。 – shantanuo 2009-09-28 06:14:16

+0

正确添加除activation_key以外的所有其他列。 – shantanuo 2009-09-28 06:16:46

回答

2

$data['$activiation_key']似乎未持有$activation_key

再加上如果你真的剪切和粘贴然后$activiation_key拼错

+0

谢谢。 1)更正拼写 2)将行更改为像这样...。$ db-> escapeSimple($ activation_key)。“')”; 它解决了这个问题。使用vi还是应该使用其他方法来提高编码时间? – shantanuo 2009-09-28 06:29:03

+0

没有错w/vi - 我用了多年和几年,对于PHP编码这些天我倾向于使用eclipse和Windows上的记事本++ – 2009-09-28 14:52:56