0

テキストをSQLに更新する作業を行っています。以下のコードでデータベースを更新しないという問題に直面していますが、where pid='$data[pid]'ステートメントを のようなインデックスに変更するwhere pid='3'と、機能します。

私はプログラミングが初めてです。理由を説明できますか?ありがとう。

<?php
//include "koneksi.php";
$host="localhost";//nama server
$user="root";//username 
$pass="";//password
$dbnama="skripsi";//nama database yang dipilih
mysql_connect($host, $user, $pass) or die ("Database tidak dapat di akses");//koneksi  ke database
mysql_select_db($dbnama); //database yang dipilih
?>
<?php
$query="select pid, username, user, datapos, datanet, dataneg, status from trainklasifier";
$hasil=mysql_query($query);
?>
<html>
<head>
</head>
<body>
<table border="1" align="center">
<tr>
  <td >ID</td>
  <td >Model Klasifikasi</td>
  <td >Creator</td>
  <td width="300px">Data Positif</td>
  <td width="300px">Data Netral</td>
  <td width="300px">Data Negatif</td> 
  <td width="100px">Status</td> 
  <td width="100px">Aksi</td> 
</tr>
<?php 
 $datapos=$data[datapos];
 $datanet=$data[datanet];
 $dataneg=$data[dataneg];
 $dataid=$data[pid];

 while ($data=mysql_fetch_array($hasil)){
     echo ("<tr><form id='form1' action='' method='post'> 
<td><textarea rows='1' cols='1' name='taid' value='$dataid' disabled>$data[pid]</textarea></td>    
<td>$data[username]</td>
<td>$data[user]</td>
<td><textarea rows='4' cols='35' name='tapos' >$data[datapos]</textarea></td>
<td><textarea rows='4' cols='35' name='tanet' value='$datanet'>$data[datanet]</textarea></td>
<td><textarea rows='4' cols='35' name='taneg' value='$dataneg'>$data[dataneg]</textarea></td>
<td>$data[status]</td>
<td><input type='submit' name='btsubmit' value='Train' /></td>
     </form></tr>");}
?>
<?php
$inputpos=$_POST['tapos'];
$inputnet=$_POST['tanet'];
$inputneg=$_POST['taneg'];
$id=$_POST['taid'];

if (isset($_POST['btsubmit'])){
    mysql_connect("localhost", "root", "") or die(mysql_error());
    mysql_select_db("skripsi") or die(mysql_error());
    mysql_query("update trainklasifier set datapos='$inputpos',datanet='$inputnet',dataneg='$inputneg' where pid='$data[pid]'"); 
    }
     echo $inputpos;
     ?>
     </table>
     </body>
     </html>
4

3 に答える 3