php - 搜索功能可用,但插入功能在 php 中不起作用

标签 php mysql

<分区>

我是自学php语言的。我创建了用于插入数据和在数据库中搜索数据的 PHP 代码。我想使用 MySQL 和 PHP 向数据库中插入和搜索数据。我使用 WAMP 服务器。最后,搜索功能正常工作,但插入功能不起作用。

表格

enter image description here

我的错误

Fatal error: Uncaught exception 'mysqli_sql_exception' with message '

PHP 代码是:

if(isset($_POST['insert'])){
  $data = getPosts();
  $sql = "INSERT INTO users (id, fname, lname, age) VALUES ('$data[0]','$data[1],'$data[2]','$data[3]')";

  $result= mysqli_query($connect,$sql);
if($result){
    echo 'Insert is success.....'; 
}
else{
    echo 'Insert is unsuccess';
}
}

function getPosts(){

    $posts = array();
    $posts[0] = $_POST['id'];
    $posts[1] = $_POST['fname'];
    $posts[2] = $_POST['lname'];
    $posts[3] = $_POST['age'];
    return $posts;
}

//Search
if(isset($_POST['search'])){
    $data = getPosts();
    $search_Query = "SELECT * FROM users WHERE id = $data[0]";
    $search_Result = mysqli_query($connect, $search_Query);
    if($search_Result)
    {
        if(mysqli_num_rows($search_Result))
        {
            while($row = mysqli_fetch_array($search_Result))
            {
                $id = $row['id'];
                $fname = $row['fname'];
                $lname = $row['lname'];
                $age = $row['age'];
            }
        }
        else{
            echo 'No Data for this id';
        }
    }else{
        echo 'Result Error';
    }
}

html代码:

 <form action="" method="post">
  Enter Your Id: <input type="number" name="id" placeholder="Id" value="<?php echo $id;?>"><br><br>
  Enter Your First Name: <input type="text" name="fname" placeholder="First Name" value="<?php echo $fname;?>"><br><br>
  Enter Your Last Name:<input type="text" name="lname" placeholder="Last Name" value="<?php echo $lname;?>"><br><br>
  Enter Your Age:<input type="number" name="age" placeholder="Age" value="<?php echo $age;?>"><br><br>
  <div>
   <input type = "submit" name="insert" value="Add">
   <input type = "submit" name="search" value="Search">
  </div>
  </form>

谁能帮帮我?感谢所有听众。

最佳答案

您在插入查询中的 $data[1] 后忘记了单引号 (')。

用这个改变你的插入查询:

$sql = "INSERT INTO users (id, fname, lname, age) VALUES ('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."')";

关于php - 搜索功能可用,但插入功能在 php 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706252/

相关文章:

mysql_query() 没有按预期工作,但 phpmyadmin 是

PHP - 在显示 MySQL 数据的类中调用私有(private)函数

php - Wordpress 插件 template_redirect 抛出 404

Mysql - 查询数据超过10m的表

html - 管理面板 - 创建编辑用户按钮

mysql.connector+mysql 在获取时挂起

php - 检查mysql表php中是否存在任何记录

php - 使用 PHP 将 unix 时间戳插入 mySQL 整数字段 (INT) 的最佳方法?

php - Android 从 php 获取 json 数据显示错误....!

php - 2 个 mysql 格式化日期时间之间的周数