使用 PHP 将用户添加到数据库时遇到问题

我正在尝试将值存储到我的数据库中。这是我用来从我的网站插入代码的代码:


<?php

$ident = $_POST['ident'];

$dato = $_POST['dato'];

$kundensnavn = $_POST['kundensnavn'];

$gsm = $_POST['gsm'];

$fodselsdato = $_POST['fodselsdato'];

$prisplan = $_POST['prisplan'];

$operator = $_POST['operator'];

$portering = $_POST['portering'];

$epost = $_POST['epost'];


    // Database connection

    $conn = new mysqli('localhost','my_username','my_password','id14293554_rw2');

    if($conn->connect_error){

        echo "$conn->connect_error";

        die("Connection Failed : ". $conn->connect_error);

    } else {

        $stmt = $conn->prepare("INSERT INTO sales_table(ident_column, date_column, name_column, gsm_column, birthdate_column, pp_column, carrier_column, transfer_column, email_column) values(?, ?, ?, ?, ?, ?, ?, ?, ?)");

        $stmt->bind_param("sssssssss", $ident, $dato, $kundensnavn, $gsm, $fodselsdato, $prisplan, $operator, $portering, $epost);

        $execval = $stmt->execute();

        echo $execval;

        echo "Done!";

        $stmt->close();

        $conn->close();

    }

?>

如果需要的话,这是我的index.html:


<!DOCTYPE html>

<html >

<head>

  <meta charset="UTF-8">

  <title>Test</title>

  <link rel="stylesheet" href="./style.css">


</head>

<body>

<!-- partial:index.partial.html -->


<div class="container">  

  <form id="contact" action="insert.php" method="post">

    <h3><center>Reg</center></h3>

    

    <fieldset>

      <input type="text" placeholder="Ident" name="ident" required autofocus>

    </fieldset>

    

    <fieldset>

      <input type="text" placeholder="Dato" name="dato" required>

    </fieldset>

    

    <fieldset>

      <input type="text" placeholder="Kundens navn" name="kundensnavn" required>

    </fieldset>

    


当我按下&ldquo;提交&rdquo;按钮时,该脚本将运行,并给出&ldquo;完成!&rdquo;,因此没有错误。但是,当我检查表时,即使我输入了所有需要的信息,那里也什么也没有:


繁星淼淼
浏览 108回答 1
1回答

阿晨1998

您的表包含Integer列gsm_column 但您string在此处传递值:$stmt->bind_param("sssssssss", $ident, $dato, $kundensnavn, $gsm, $fodselsdato, $prisplan, $operator, $portering, $epost); <---------尝试改成这样:$stmt->bind_param("sssisssss", $ident, $dato, $kundensnavn, $gsm, $fodselsdato, $prisplan, $operator, $portering, $epost);我也会改变最后一部分if ($stmt->execute()) {&nbsp;&nbsp; &nbsp; // it worked&nbsp; &nbsp; echo "Done";} else {&nbsp; &nbsp; // it didn't&nbsp; &nbsp; echo "Not inserted";&nbsp; &nbsp; //Print error&nbsp; &nbsp; echo $stmt->error;}$stmt->close();$conn->close();
打开App,查看更多内容
随时随地看视频慕课网APP