【问题标题】:Can't insert data into database in php [closed]无法在php中将数据插入数据库[关闭]
【发布时间】:2016-04-05 12:48:03
【问题描述】:

这是我的连接代码和查询:

$conn = new mysqli('localhost' , 'root' , '#PASSWORD_HERE#' , 'NSEG');

    if($conn->connect_error)
    {
        die("Unable to connect!");
    }

    $Query = "INSERT INTO professors(id , Username , FirstName , LastName , Gender , Email) VALUES (NULL , '$username' , '$fname' , '$lname' , '$Gender' , '$Email')";
    $conn->query($Query);

    $conn->close();

但是当我提交并转到 php 我的管理员时,它没有显示任何“prfessors”表! 我该怎么办?!

【问题讨论】:

  • 你有什么错误吗?
  • 尝试在 phpmyadmin 中运行查询并检查查询是否有效。
  • 请添加“mysqli_error($conn)”;在 close() 之前并在问题中更新它
  • @mohammad talaie,检查答案。让我们知道。
  • 伙计们,它现在插入,但仍然存在一个问题当数据进入 id 字段中的表时,什么都没有显示并且没有为 id 插入任何内容?有什么问题?

标签: php html mysql sql


【解决方案1】:

假设您的 id 列是 PK 而不是不传递 NULL 因为它应该是自动递增,试试这个:

$Query = "INSERT INTO professors(Username , FirstName , LastName , Gender , Email) VALUES ('$username' , '$fname' , '$lname' , '$Gender' , '$Email')";

【讨论】:

    【解决方案2】:
    <?php
        $con = mysqli_connect("localhost", "root", "1379Mohammad", "NSEG");
    
    // Check connection
    
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    
    // Perform queries
    
    $query = "INSERT INTO professors(id , Username , FirstName , LastName , Gender , Email) VALUES (NULL , '$username' , '$fname' , '$lname' , '$Gender' , '$Email')";
    
    if (!mysqli_query($con, $query))
      {
      echo ("Error description: " . mysqli_error($con));
      }
    
    mysqli_close($con);
    

    在尝试以下 PHP 代码段之前。确保以下几点。

    1. 确保professors 表存在。
    2. 确保id 字段是主键和自动增量。
    3. 打印 SQL 查询并确保所有值都不为空。
    4. 检查 mysqli_error,如果有任何其他错误。

    使用主键和自动增量创建表的 SQL,根据需要更改其他内容。

    CREATE TABLE `professors` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `Username` varchar(50) NOT NULL,
      `FirstName` varchar(50) NOT NULL,
      `LastName` varchar(50) NOT NULL,
      `Gender` varchar(10) NOT NULL,
      `Email` varchar(255) NOT NULL,
      PRIMARY KEY (id)
    );
    

    【讨论】:

    • 我认为我的 id 字段不是自动递增的..
    • id 已经做的是将 id 字段设置为无符号,但我真的不知道这是否会使其自动递增?
    • 在phpmyadmin中导出表格并分享。会告诉你它是否有自动增量。 stackoverflow.com/questions/1802410/…
    • @mohammadtalaie,添加 SQL 语句以创建表教授表或与您创建的表进行比较
    【解决方案3】:
    <?php
    
    $con=mysql_connect("localhost","root","") or die(mysql_error());
    
    // select database 
    mysql_select_db("1379Mohammad",$con);
    
    
    //Insert values in professors table with column name 
    $query="INSERT INTO professors(id , Username , FirstName , LastName , Gender , Email)
       VALUES (NULL , '$username' , '$fname' , '$lname' , '$Gender' , '$Email')";
    
    
    if (mysql_query($query))
          {
          echo "Table empinfo created successfully";
          }
        else
          {
         echo  "Error creating database: " .mysql_error();
      }         
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多