从两个数据库列名称插入一个输入值

时间:2014-12-20 20:07:38

标签: php mysql

我需要你的主题帮助。

我只有一个名字<input>

<input type="text" name="name" id="name" class="name_" placeholder="Your Name">

这是我的邮政编码:

<?php
include_once 'includes/db.php';
include_once 'includes/user.php';
include_once'includes/alphaID.php';
$user = new user();
$set_error='';
if(isset($_POST['name']))
{
$name=$_POST['name'];
$rname=$_POST['name'];
$name = alphaID(microtime(true) * 10000);

if (strlen($rname)>0)
{


$set=$user->Create_Name($name,$rname,$uid,$uemail);
if($set)
{
$_SESSION['id']=$set;

}
else
{
$set_error="<span class='seterror'>name is already exists.</span>";
}
}
}
?>

并插入代码在这里:

<?php 
  class user 
  {  
      public function Create_Name($name,$rname,$uid,$uemail) 
  {
        $name= mysql_real_escape_string($name);
        $rname= mysql_real_escape_string($name);
        $rname= mysql_real_escape_string($rname);
        $qu= mysql_query("SELECT id FROM users WHERE rname='$rname'");
        if(mysql_num_rows($qu)==0)
        {
           $id = "{$uid}";
           $cekme = mysql_query("SELECT * FROM users WHERE uid = '$id'");
           $goster = mysql_fetch_array($cekme);
           extract($goster);
           $email = "{$email}"; 
           var_dump($name);
           var_dump($rname);
            $query = mysql_query("INSERT INTO users(name,rname,uid,uemail)VALUES('$name','$rname','$uid','$email')");
            return $id=mysql_insert_id() ;    
     }
     else
     {
     return false;
     }
  }   
}

?>

现在我想做什么。您可以在此处看到$name$name与alphaID.php一起发布。 alphaID()值基于microtime(),它总是会改变。 喜欢

name = Lorem impsum dolar

name = ebO80dHE

现在我想在rname发布真实姓名(Lorem impsum dolar)。

我的代码发布alphaID namername未发布。

name = string(8) "ebO80dHE" rname = string(0) ""

1 个答案:

答案 0 :(得分:1)

    $name= mysql_real_escape_string($name);
    $rname= mysql_real_escape_string($name);
    $rname= mysql_real_escape_string($rname);

删除第二行:

    $name= mysql_real_escape_string($name);
    $rname= mysql_real_escape_string($rname);

另外,请尝试在此处打印名称:

if(isset($_POST['name']))
{
$name=$_POST['name'];
$rname=$_POST['name'];
var_dump($rname);

$name = alphaID(microtime(true) * 10000);

if (strlen($rname)>0) - 如果确实如此,我看不出您发布的代码中rname如何为空。

尝试在rname中添加更多public function Create_Name的var_dump:$rname= mysql_real_escape_string之后的$rname - {{1}}更改的任何位置。这应该给出它变空的确切位置。