簡體   English   中英

使用PHP表單在SQL中將數據插入表中時出錯

[英]Error when inserting data into table in sql using php form

我正在創建資產數據庫系統(只是一個脫機系統,未連接到Internet),它將顯示所有資產列表。 在列表中,我可以單擊任何資產以查看詳細信息。 我也設法更新細節或刪除資產。 但是當涉及資產記錄部分時,使用表格將記錄插入資產時會出錯。

這是我的記錄添加表格。 而且我也想讓機器ID在表單的“機器ID”字段下可見,但是我還不知道如何將數據放入那里。

記錄添加表格

對於插入記錄,它會捕獲從資產表到傳遞到rekod_tab表中的rekod_add.php(添加記錄)URL地址上的機器ID。

machine_id

這是我的記錄添加頁面(rekod_add.php)

<?php

//Start session
session_start();

//Check whether the session variable SESS_MEMBER_ID is present or not
if(!isset($_SESSION['username']) || (trim($_SESSION['password']) == '')) {
    header("location: login.php");
    exit();
}

?>
<html>
<head>
<title>EXA_mySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body,td,th {
    font-family: Tahoma, Geneva, sans-serif;
}
</style>
</head>

<body>
<script type="text/javascript">function checkinput() { 
    var id_mesin = document.getElementById('id_mesin').value;  
    if(!id_mesin.match(/\S/)) {
        alert ('Please enter Machine ID');
        return false;
    } else {
        return true;
    }
}
</script>
<?php

$con=mysqli_connect("localhost","root","admin","exa");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$id_mesin = $_POST['id_mesin'];
$query = "SELECT * FROM asset WHERE id_mesin ='".$id_mesin."'";
$result = mysqli_query($con,$query);
$rows = mysqli_fetch_array($result);
?>
<table width="733" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form_insert" method="post" action="rekod_add_ac.php">
  <table width="709" border="0" align="center">
    <tr>
      <th width="23" scope="col">MACHINE ID</th>
      <th colspan="2" scope="col">DATE</th>
      <th width="68" scope="col">TIME</th>
      <th width="175" scope="col">RECEIVE CALL BY</th>
      <th width="97" scope="col">CURRENT METER</th>
      <th width="90" scope="col">LAST METER</th>
      <th width="136" scope="col">J.SHEET NO</th>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2"><input name="tarikh_rekod" type="text" id="tarikh_rekod" size="15" /></td>
      <td><input name="time" type="text" id="time" size="10" maxlength="9" /></td>
      <td><input type="text" name="call_by" id="call_by" /></td>
      <td><input name="meter_semasa" type="text" id="meter_semasa" size="15" /></td>
      <td><input name="meter_last" type="text" id="meter_last" size="15" /></td>
      <td><input name="rujukan" type="text" id="rujukan" size="10" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <th width="81">PROBLEM</th>
      <th width="5">:</th>
      <td colspan="3"><textarea name="masalah" id="masalah" cols="55" rows="5"></textarea></td>
      <th colspan="2" rowspan="2"><p>REMARK</p>
        <p>
          <textarea name="remark" cols="30" rows="6" id="remark"></textarea>
        </p></th>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <th>SOLUTION</th>
      <th>:</th>
      <td colspan="3"><textarea name="solution" id="solution" cols="55" rows="5"></textarea></td>
    </tr>
    <tr>
      <td colspan="8" align="right"><?php echo "<input type='hidden' value='" . $rows['id_mesin'] . "' name='id_mesin'>"; echo "<input type='submit' value='Add Record'>";?></td>
    </tr>
  </table>


</form>
</td>
</tr>
</table>
<?php
mysqli_close($con);
?>
</body>
</html>

這是我的rekod_add_ac.php

<?php
session_start();

if(!isset($_SESSION['username']) || (trim($_SESSION['password']) == '')) {
    header("location: login.php");
    exit();
}
?>
<html>
<head>
<title>EXA_mySQL</title>
<script type="text/javascript">
<!--
function CloseWindow() {
    window.close(); 
    window.opener.location.reload();
}

//-->
</script>
</head>

<body>

<?php
error_reporting(E_ALL);
ini_set('display_errors','on');

$con=mysqli_connect("localhost","root","admin","exa");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
print_r($_POST);

$id_mesin=$_POST['id_mesin'];    
$tarikh_rekod=$_POST['tarikh_rekod'];
$time=$_POST['time'];
$call_by=$_POST['call_by'];
$meter_semasa=$_POST['meter_semasa'];
$meter_last=$_POST['meter_last'];
$rujukan=$_POST['rujukan'];
$masalah=$_POST['masalah'];
$solution=$_POST['solution'];
$remark=$_POST['remark'];

$rekod_in="INSERT INTO rekod_tab ( id_mesin, tarikh_rekod, time, call_by, meter_semasa, meter_last, rujukan, masalah, solution, remark) VALUES ( $'id_mesin', $'tarikh_rekod', $'time', $'call_by', $'meter_semasa', $'meter_last', $'rujukan', $'masalah', $'solution', $'remark')";
$result=mysqli_query($con, $rekod_in);

if($result){

echo "Successful";
echo "<BR>";
echo "<th><form>";
echo "<input type='button' onClick='CloseWindow()' value='Back to Exa_mySQL' align='middle'>";
echo "</form></th>";

}   
else {
echo "Data error, please recheck before submit.";
echo "<BR>";
echo "Click back to add record.";
echo "<BR>";
echo "<form action='rekod_add.php?id=$id_mesin' method='post'>";
echo "<td><input type='hidden' value='$id_mesin' name='id_mesin'>";
echo "<input type='submit' value='Back'></td>";
echo "</form>";
echo "<th><form>";
}

mysqli_close($con);

?>
</body>
</html>

用戶完成記錄詳細信息的插入之后,表單將在rekod_tab表中添加記錄,其中包括機器ID( id_mesin ),該機器ID會像我之前所說的那樣從url自動捕獲。

但結果是錯誤。 在sql中插入詳細手冊時,其工作原理。 誰能幫我?

這是我的錯誤結果。

記錄添加錯誤

對不起,我的英語不好。

試試這樣的INSERT查詢

$rekod_in="INSERT INTO rekod_tab 
( id_mesin, tarikh_rekod, time, call_by, meter_semasa, meter_last, 
 rujukan, masalah, solution, remark) 
 VALUES ( '$id_mesin', '$tarikh_rekod', '$time', '$call_by', '$meter_semasa',
'$meter_last', '$rujukan', '$masalah', '$solution', '$remark')";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM