【问题标题】:PHP is not inserting DataPHP没有插入数据
【发布时间】:2023-03-24 10:55:01
【问题描述】:

我已经在本地服务器上运行它并且运行良好,但是当我将它上传到我的虚拟主机时,它停止运行。 基本上,当我提交表单时,浏览器只会继续加载,而当我检查数据库时,没有插入任何数据。 我检查了我的数据库连接,我能够连接它,但无法从中获取数据。

这是我的 php:

<?php
$servername   = "localhost";
$username     = "itclubac_root";
$password     = "*******";
$dbname       = "itclubac_itclub";


$tnp          = 0;
$name         = $_POST['name'];
$email        = $_POST['email'];
$gender       = $_POST['gender'];
$phone        = $_POST['phone'];
$id           = $_POST['id'];
$section      = $_POST['section'];
$skills       = $_POST['skills'];
$interests    = $_POST['interests'];
$expectations = $_POST['expectations'];
$tnp          = $_POST['tnp'];
$ip           = $_SERVER['REMOTE_ADDR'];

if ( $tnp == 0 ) { 
  header('Location: ../../get_involved.php'); 
} else {    
  // Create connection
  $con = new mysqli($servername, $username, $password, $dbname);

  // Check connection
  if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
  }
  $query = mysqli_query($con, "SELECT * FROM member_registration WHERE email = '".$email. "'"); 
  if ( mysqli_num_rows($query) > 0 ) {
    header('Location: ../../get_involved.php?status=exist');
  } else {    
    $query = mysqli_query($con, "SELECT * FROM member_registration WHERE college_id = '".$id. "'"); 
    if ( mysqli_num_rows( $query) > 0 ) { 
      header('Location: ../../get_involved.php?status=exist'); 
    } else { 
      $sql = "INSERT INTO member_registration (name, email, gender, phone_no, college_id, section, skills, interests, expectations, ip_address) VALUES ('$name', '$email', '$gender', '+880$phone', '$id', '$section', '$skills', '$interests', '$expectations', '$ip')";
      if ($con->query($sql) === TRUE) {
        header('Location: ../../get_involved.php?status=success'); 
      } 
    } 
  } 
} 
$con->close();
?>

编辑

这是网站:Form Pagehttp://itclub.acc.edu.bd/get_involved.php 如果您在这里注册,页面将继续加载。但是,如果您尝试直接访问registration.php,它会将您发送到我所说的表单页面 页面。当我在本地对其进行测试时,它运行良好,但是在上传到主机后出现了这个问题。

【问题讨论】:

标签: php database mysqli


【解决方案1】:

我尝试对您的代码进行排序,可能错误与您的查询有关,

$sql = "INSERT INTO member_registration (name, email, gender, phone_no, college_id, section, skills, interests, expectations, ip_address) VALUES ('$name', '$email', '$gender', '+880$phone', '$id', '$section', $'skills', '$interests', '$expectations', '$ip')";

你注意到这行$'skills' 的部分了吗?将您的代码更改为,

$sql = "INSERT INTO member_registration (name, email, gender, phone_no, college_id, section, skills, interests, expectations, ip_address) VALUES ('$name', '$email', '$gender', '+880$phone', '$id', '$section', '$skills', '$interests', '$expectations', '$ip')";

也许有帮助。

【讨论】:

  • 谢谢。我纠正了错字,但仍然没有帮助:(
  • 抱歉回复晚了
  • 也许可以尝试对数据进行缩放,或者检查是否有传递的值。
  • 我已经对其进行了编辑,添加了更多信息。请检查一下
  • 您是否拥有主机数据库的权限?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多