Php 无法将POST数据保存到MYSQL数据库

Php 无法将POST数据保存到MYSQL数据库,php,mysql,post,Php,Mysql,Post,你好,我是一个php初学者,我有一个代码,我想将表单数据(post方法)存储到数据库中,我已经研究过了,但仍然没有运气。 这是我的密码 <?php if(isset($_POST["smp"])){ $pd = $_POST["perda"]; $pg = $_POST["pergub"]; $dpaa = $_POST["dpa"]; $nm = $

你好,我是一个php初学者,我有一个代码,我想将表单数据(post方法)存储到数据库中,我已经研究过了,但仍然没有运气。 这是我的密码

  <?php
    if(isset($_POST["smp"])){
      $pd = $_POST["perda"];
      $pg = $_POST["pergub"];
      $dpaa = $_POST["dpa"];
      $nm = $_POST["nama"];
      $nm1 = $_POST["nama1"];
      $nm2 = $_POST["nama2"];
      $nm3 = $_POST["nama3"];
      $nm4 = $_POST["nama4"];
      $nm5 = $_POST["nama5"];
      $nm6 = $_POST["nama6"];
      $tp = $_POST["tanggalp"];
      $tb = $_POST["tanggalb"];
      $td = $_POST["tanggald"];
      $tdb = $_POST["tanggaldb"];
      $kp = $_POST["keperluan"];
      $tk = $_POST["tingkat"];
      $mk = $_POST["maksud"];
      $tj = $_POST["tujuan"];
      $akt = $_POST["angkut"];
      $tib = $_POST["tiba"];
      $nobb = $_POST["nob"];
      $nopp = $_POST["nop"];
      $nokk = $_POST["nok"]; 
      $ak = $_POST["akun"];
      $ln = $_POST["lain"];
      $sql = "INSERT INTO tb_spj (nomor, tipe, pda, pgb, dpa, pg_tugas, rc_tugas, pg_ikut1, rc_ikut1, pg_ikut2, rc_ikut2, pg_ikut3, rc_ikut3, pg_ikut4, rc_ikut4, pg_ikut5, rc_ikut5, tgl_skp, tgl_br, tgl_dt, tgl_db, kpl, tk_spj, mk, tuju, angkutan, pg_tuju, tiba, no_bku, no_prog, no_kgt, akn, ket) VALUES ('$c', 'Dalam Daerah', '$pd', '$pg', '$dpaa', '$nm', ' ', '$nm1', ' ', '$nm2', ' ', '$nm3', ' ', '$nm4', ' ', '$nm5', ' ', '$tp', '$tb', '$td', '$tdb', '$kp', '$tk', '$mk', '$tj', '$akt', '$nm6', '$tib', '$nobb', '$nokk', '$ak', '$ln')";
      $conn->query($sql);
      $c++;}
  ?> 

过滤或清理输入数据,并使用PDO或MySQLi编写的语句,因为您有助于SQL注入黑客

$pd=isset($\u POST[“perda”])$_POST[“perda”]:空;
//如果您使用的是PHP7
$pd=$_POST[“perda”]??空;

实施实例


$dbhost='localhost';
$dbname='testdb';
$dbusername='root';
$dbpassword='pass';
$link=newpdo(“mysql:host=$dbhost;dbname=$dbname”、$dbusername、$dbpassword);
$statement=$link->prepare('插入tb_spj(pda)值(:pda)');
$statement->execute(['pda'=>$pd]);

警告:您完全可以使用参数化的预处理语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。什么是
$c++??请在
phpmyadmin
中回显您的查询,并向我们显示它返回的内容??插入查询中的列和值必须匹配。您定义了33列,但只传入32个值。为什么在查询的值部分有“”?如果将要插入“”的列从查询中删除,不是更好吗?