插入数据到MySQL(inserting data into mysql)

2019-10-29 21:53发布

我的插入和更新页(通过我的管理forlder)到MySQL停止工作。 当我尝试插入/更新细节,就停留在同一页面上没有添加或更新任何东西到数据库表。

我真的不知道发生了什么,不知道从哪里开始寻找。 我没有做任何改变任何页面。

是否有任何人谁了同样的问题,可以请给我一个线索?

赞赏弗朗切斯科

Insertng一些代码,如果可以的反对票帮助:

    <?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if(isset($_POST['username'])) {
mysql_select_db($database_satsconn, $satsconn);
$query_rstUname = "SELECT members_ID FROM members WHERE username = '$_POST[username]'";
$rstUname = mysql_query($query_rstUname, $satsconn) or die(mysql_error());
$row_rstUname = mysql_fetch_assoc($rstUname);
$totalRows_rstUname = mysql_num_rows($rstUname);
if($totalRows_rstUname > 0){
$error['uname'] = 'That username is already in use. Please choose another.';
    }
}

if(isset($_POST['pwd']) && isset($_POST['pwd'])) {
 if($_POST['pwd'] != $_POST['con_pwd']) {
   $error['pwd'] = 'Your passwords don\'t match.';
   }
  else {
  $_POST['pwd'] =md5($_POST['pwd']);
  }
}

if(!isset($error)) {
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "addUser")) {
  $insertSQL = sprintf("INSERT INTO members (realname, username, pwd) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['realname'], "text"),
                       GetSQLValueString($_POST['username'], "text"),
                       GetSQLValueString($_POST['pwd'], "text"));

  mysql_select_db($database_satsconn, $satsconn);
  $Result1 = mysql_query($insertSQL, $satsconn) or die(mysql_error());
   }
}

if ((isset($_POST['members_ID'])) && ($_POST['members_ID'] != "")) {
  $deleteSQL = sprintf("DELETE FROM members WHERE members_ID=%s",
                       GetSQLValueString($_POST['members_ID'], "int"));

  mysql_select_db($database_satsconn, $satsconn);
  $Result1 = mysql_query($deleteSQL, $satsconn) or die(mysql_error());

  $deleteGoTo = "add_member.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}

mysql_select_db($database_satsconn, $satsconn);
$query_rstAdmin = "SELECT * FROM members ORDER BY realname ASC";
$rstAdmin = mysql_query($query_rstAdmin, $satsconn) or die(mysql_error());
$row_rstAdmin = mysql_fetch_assoc($rstAdmin);
$totalRows_rstAdmin = mysql_num_rows($rstAdmin);
?>

Answer 1:

“它保持在同一页上没有添加或更新任何东西”是很常见的问题,并且可以被成千上万的错误造成的。 有noway通过寻找“谁有同样的问题”来解决这个问题。

如果你只是这段代码的用户,这将是更好地聘请程序员。

如果你认为自己是一个程序员,你必须学会如何debug应用程序。 调试代表找出错误所在。 尽管调试只能帮助,如果你知道,你的代码做什么。 你可以继续尝试。

有很多事情要做。 你必须确保你可以看到所有可能的错误。 您可以从开始这个有用的文章



Answer 2:

我看到有很多的if(isset($variable))上的代码。 如果发生什么isset($_POST['MM_insert'])返回false? 把一些错误陷阱(一个简单的回声告诉该变量没有设置都行),看看究竟在何处的代码停止工作,然后你就会明白为什么它停止工作。
此外,尝试使用print_r()的可能,有问题的变量,看看你得到你期待什么。
PS:我只用1分贝选择。 我认为有没有必要做比在这种情况下,一旦更多的,除非你明确需要和想要使用不同的数据库。



文章来源: inserting data into mysql
标签: mysql insert