2012-10-16 44 views
0

我已经做了一个PHP脚本从同一个数据库中的两个不同的表中拉。数据被拉出后,它被放入另一个表中,以保存该特定信息供以后使用。现在,它会提交用户名和用户名,但不会提交我所说的puid变量。PHP脚本的一半没有提交

这里是脚本

include('data.php'); 

//Database Connection 
[email protected]_connect("$ip", "$guser", "$gpass") 
      or die(mysql_error()); 

//Select Database 
[email protected]_select_db($forums, $con) 
      or die(mysql_error()); 

$search = $_POST['term']; 

$sql = mysql_query("select userid, usergroupid, username from $users where username like '%$search%'"); 

while ($row = mysql_fetch_array($sql)) { 
    $id = $row['userid']; 
    $name = $row['username']; 
    $ugid = $row['usergroupid']; 
}  

if ($ugid == '21') { 

    $sql4 = "INSERT INTO $vip (fuid, username) VALUES ('$id', '$name')"; 
    $res2 = @mysql_query($sql4, $con) or die(mysql_error()); 

    $sql2 = mysql_query("SELECT $id, field5 FROM $userfield"); 
    while ($row = mysql_fetch_array($sql2)) { 
     $puid = $row['field5']; 
    } 

    $sql3 = "INSERT INTO $vip (puid) VALUES ('$puid')"; 
    $res = @mysql_query($sql3, $con) or die(mysql_error()); 
    echo 'Completed'; 
} else { 
    echo 'User is not VIP'; 
} 
+2

我会尝试添加'echo mysql_error();'到所有查询,因为您通常没有以$ –

+0

开头的数据库表可能field5从数据库返回NULL值? –

+1

请不要使用'mysql_ *'函数来编写新的代码。他们不再维护,社区已经开始[弃用程序](http://goo.gl/KJveJ)。请参阅* [红盒子](http://goo.gl/GPmFd)*?相反,您应该了解[准备好的语句](http://goo.gl/vn8zQ)并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能决定哪些,[这篇文章](http://goo.gl/3gqF9)会帮助你。如果你选择PDO,[这里是很好的教程](http://goo.gl/vFWnC)。另请参阅[为什么不应该在PHP中使用'mysql'函数?](http://goo.gl/ycnmO) –

回答

0

你是不是做了所有检索rows.you应该得到那些foreach循环内部查询否则只有最后一排将影响这些查询!

+0

所有的表和数据库都在data.php中定义,其中包括 – Ryahn