无法插入数据选择进入数据库php mysql?

时间:2015-06-10 08:32:27

标签: php mysql database

CREATE TABLE IF NOT EXISTS `penyakitt` (
  `id_penyakitt` int(11) NOT NULL,
  `namapenyakit` varchar(200) NOT NULL,
  PRIMARY KEY (`namapenyakit`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE IF NOT EXISTS `cfs` (
  `id_cfs` int(11) NOT NULL AUTO_INCREMENT,
  `namapenyakit` varchar(200) NOT NULL,
  `namagejalaa` varchar(200) NOT NULL,
  `mb` varchar(200) NOT NULL,
  `md` varchar(200) NOT NULL,
  PRIMARY KEY (`id_cfs`),
  KEY `namapenyakit` (`namapenyakit`),
  KEY `namagejalaa` (`namagejalaa`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;


CREATE TABLE IF NOT EXISTS `gejalaa` (
  `id_gejala` int(11) NOT NULL,
  `namagejalaa` varchar(200) NOT NULL,
  PRIMARY KEY (`namagejalaa`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Form_input.php

    <form  action="/tugasakhir/nilaicf/simpan_nilaicf.php"  method="post" >
          <table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td width="24%">Jenis Penyakit</td>
    <td width="5%">:</td> 
  <td width="71%"><label for="namapenyakit"></label>
   <select id="penyakit" name="penyakit">
              <option value="">-Pilih penyakit-</option>
<?php
    $sql = "SELECT * FROM penyakitt";
    $hasil_query=mysql_query($sql);

        while($baris = mysql_fetch_object($hasil_query)){
           echo "<option value=$baris->id_penyakitt->$baris->namapenyakit</option>";
            }
    ?>
        </select>

  </td>
  </tr>
  <tr>
    <td>Nama gejala</td>
    <td>:</td>
    <td>
     <label for="namagejala"></label>
    <select id="gejala" name="gejala">
     <option value="">-Pilih gejala-</option>
<?php
    $sql = mysql_query("SELECT * FROM gejalaa ORDER BY namagejalaa ASC");

        while($data = mysql_fetch_assoc($sql)){
           echo "<option value='$data[id_gejala]'>$data[namagejalaa]</option>";
            }
    ?>
        </select>
  </tr>

   <tr>
    <td>Nilai MB</td>
    <td>:</td>
    <td><label for="MB"></label>
      <input type="text" name="MB" id="MB" /></td>
  </tr>
   <tr>
    <td>Nilai MD</td>
    <td>:</td>
    <td><label for="MD"></label>
      <input type="MD" name="MD" id="MD" /></td>
  </tr>
   <tr>
    <td height="41">&nbsp;</td>
    <td>&nbsp;</td>
    <td><input type="submit" name="tambah" value="Tambah" /></td>
  </tr>
</table>
</form>

simpan_nilaicf.php

<?php
include_once "config.php";

$namapenyakit=$_POST['namapenyakit'];
$namagejalaa=$_POST['namagejalaa'];
$mb=$_POST['mb'];
$md=$_POST['md'];

$sql="INSERT INTO cfs ('namapenyakit', 'namagejalaa', 'mb', 'md') VALUES ('', '$namapenyakit', '$namagejalaa', '$mb', '$md')";

$eksekusi_query=mysql_query($sql);

if(!$eksekusi_query){
    die("Query kamu salah dikarenakan:".mysql_error());
}
?>

当我在mysql phpmyadmin中运行我的插入代码时..它出现如下错误:

#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near ''id_cfs', 'namapenyakit', 'namagejalaa', 'mb', 'md') VALUES ('', '$namapenyakit'' at line 1

我应该更改什么,因此我在form_input.php中输入的数据可以插入到我的数据库中? :(

3 个答案:

答案 0 :(得分:2)

在您的插入查询中,您传递的5个值对应于您提到的4列以及您使用错误引号的列。

尝试以下方法:

$sql="INSERT INTO cfs (`namapenyakit`, `namagejalaa`, `mb`, `md`) VALUES ('$namapenyakit', '$namagejalaa', '$mb', '$md')";

答案 1 :(得分:0)

您插入一个空值:

$sql="INSERT INTO cfs (namapenyakit, namagejalaa, mb, md) VALUES ('$namapenyakit', '$namagejalaa', '$mb', '$md')";

这不是安全的方法。使用准备好的陈述。

答案 2 :(得分:0)

供参考:

当我手动输入mysql中的数据时:

INSERT INTO cfsid_cfsnamapenyakitnamagejalaambmd) 价值观(3,'asma','muntah disertai riak','5','4')

它可以添加..但我仍然不知道如何使我在form_input.php中输入的数据可以插入我的数据库......