求助:插入数据有误!!!!!

求助:插入数据有误!!!!!

我整个网页的代码:

[复制到剪切板]
CODE:
<?php require_once('../Connections/ips.php'); ?>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?
php
if($_POST['user']==""){
echo 
"<script>alert('帐号/用户名不能为空');location.href='reg.php';<\/script>";
exit;
}
if(
$_POST['pass']==""){
echo 
"<script>alert('密码不能为空');location.href='reg.php';<\/script>";
exit;
}
if(
$_POST['ipsname']==""){
echo 
"<script>alert('网站名称不能为空');location.href='reg.php';<\/script>";
exit;
}
$colname_reg2 "1";
if (isset(
$_POST['user'])) {
  
$colname_reg2 = (get_magic_quotes_gpc()) ? $_POST['user'] : addslashes($_POST['user']);
}
mysql_select_db($database_ips$ips);
$query_reg2 sprintf("SELECT * FROM ips_user WHERE `user` = '%s'"$colname_reg2);
$reg2 mysql_query($query_reg2$ips) or die(mysql_error());
$row_reg2 mysql_fetch_assoc($reg2);
$totalRows_reg2 mysql_num_rows($reg2);
if (
$totalRows_reg2 0) {
echo 
"<script>alert('您所输入的用户名/帐号已经被占用,请重新选择新的帐号');location.href='reg.php';<\/script>";
exit;
}
if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "reg")) {
  
$insertSQL sprintf("INSERT INTO ips_user (user,pass,vip,ipsname) VALUES (%s, %s, %s, %s)",
                       
GetSQLValueString($_POST['user'], "text"),
                       
GetSQLValueString($_POST['pass'], "text"),
                       
GetSQLValueString($_POST['vip'], "text"),
                       
GetSQLValueString($_POST['ipsname'], "text"),

  
mysql_select_db($database_ips$ips);
  
$Result1 mysql_query($insertSQL$ips) or die(mysql_error());

  if (isset(
$_SERVER['QUERY_STRING'])) {
    echo 
"注册成功";
  }
}
?> ;


我测试了好久,结果我能肯定错误是在以下这段代码中:

[复制到剪切板]
CODE:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "reg")) {
  
$insertSQL sprintf("INSERT INTO ips_user (user,pass,vip,ipsname) VALUES (%s, %s, %s, %s)",
                       
GetSQLValueString($_POST['user'], "text"),
                       
GetSQLValueString($_POST['pass'], "text"),
                       
GetSQLValueString($_POST['vip'], "text"),
                       
GetSQLValueString($_POST['ipsname'], "text"),

  
mysql_select_db($database_ips$ips);
  
$Result1 mysql_query($insertSQL$ips) or die(mysql_error());

  if (isset(
$_SERVER['QUERY_STRING'])) {
    echo 
"注册成功";
  }
} ;


我把这段代码删除掉,其它的代码测试都能正常使用!!!

还忘解答,谢谢!!

[ 本帖最后由 蝶舞飘香 于 2008-12-10 21:14 编辑 ]

语法有误啊
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "reg")) {
  $insertSQL = sprintf("INSERT INTO ips_user (user,pass,vip,ipsname) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['user'], "text"),
                       GetSQLValueString($_POST['pass'], "text"),
                       GetSQLValueString($_POST['vip'], "text"),
                       GetSQLValueString($_POST['ipsname'], "text"),

你下面的写法就对了
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "iu")) {
  $insertSQL = sprintf("INSERT INTO ips (webn, url, logo, aduse, adpas, logo2, icp) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['webn'], "text"),
                       GetSQLValueString($_POST['url'], "text"),
                       GetSQLValueString($_POST['logo'], "text"),
                       GetSQLValueString($_POST['aduse'], "text"),
                       GetSQLValueString($_POST['adpas'], "text"),
                       GetSQLValueString($_POST['logo2'], "text"),
                       GetSQLValueString($_POST['icp'], "text"));


是没有插入数据库还是?有没有什么提示?
如果是没有插入数据库又没有提示,我觉得最好的方法是把sql语句echo出来。拿到phpmyadmin执行一下。有什么错误就提示出来了。

$insertSQL = sprintf("INSERT INTO ips (webn, url, logo, aduse, adpas, logo2, icp) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['webn'], "text"),
                       GetSQLValueString($_POST['url'], "text"),
                       GetSQLValueString($_POST['logo'], "text"),
                       GetSQLValueString($_POST['aduse'], "text"),
                       GetSQLValueString($_POST['adpas'], "text"),
                       GetSQLValueString($_POST['logo2'], "text"),
                       GetSQLValueString($_POST['icp'], "text"));
echo $insertSQL;exit;

另外,这段代码貌似dw生成的?呵呵,不知是不是。我以前也是这样,后来知道应该动手写代码。

[ 本帖最后由 我不是鱼 于 2008-12-10 12:22 编辑 ]
如履薄冰

成功了........

我把错误的代码改成了:

[复制到剪切板]
CODE:
if ($totalRows_reg2 0) {
echo 
"<script>alert('您所输入的用户名/帐号已经被占用,请重新选择新的帐号');location.href='reg.php';<\/script>";
exit;
}
else {
$user=$_POST['user'];
$pass=$_POST['pass'];
$vip=$_POST['vip'];
$ipsname=$_POST['ipsname'];
$reg_sql "INSERT INTO `ips_user` (`id`, `user`, `pass`, `vip`, `ipsname`, `regdate`) VALUES (NULL, '$user', '$pass', '$vip', '$ipsname', '')";
$Result1 mysql_query($reg_sql$ips) or die(mysql_error());
echo 
"注册成功!";
exit;
} ;


我发现我实在是太聪明了,用DW做出的代码较长,而且不易懂,自己翻翻书,自己想了段代码,居然一次就搞定了

因为
本人发现自己实在是太聪明了.......
谁给点分鼓力下!!!!