0

仕事用のストレージ ログを作成しています。このコードと 2 時間格闘しましたが、成功しませんでした。なんらかの理由で、何度 INSERT INTO クエリのコードをチェックして再チェックしても機能しません。

基本的に同じ機能を持ち、100% 動作する別のページから、このコードをほぼそのまま (明らかにフォーム名とフィールドを変更して) コピーしたことに注意してください。以下のコード:

これは、トランザクションが送信されるフォームを含むページです。

<?php
$script = '<script> 
$(document).ready(function(){
    $(".datepicker").datepicker();
}); </script>' ; 
$title = "View/Edit Storage - " ;
include('inc/header.php'); 
?>
<table>
                <tr>
                <form action="transadded.php" name='addnewtransaction' method="POST">
                    <td><input type="text" name="moveID" size="20" value="<?php echo $results[moveid]; ?>" readonly> </td>
                    <td><select id="inoutselect" name="inorout">
                            <option value="Select">Select</option>
                            <option value="Storage In">Storage In</option>
                            <option value="Storage Out">Storage Out</option>
                        </select> </td>
                    <td><input type="text" name="numberofunits" size="20"></td>
                    <td><input type="text" name="dateoftransaction" size="20" class="datepicker"></td>
                    <td><input type="text" name="rrdt" size="20"> </td>
                    <td><input type="submit" value="Add" id="logsubmit"></td>
                </form>
                </table>
                <br /><br />
<?php   };?>

クエリ自体、別名「transadded.php」は次のとおりです。

<?php
$title = "Project Added - ";
include('inc/header.php');
$query = "INSERT INTO newtransaction (moveid, inout, units, transdate, refno) VALUES('$_POST[moveID]','$_POST[inorout]','$_POST[numberofunits]','$_POST[dateoftransaction]','$_POST[rrdt]')";

if(!mysqli_query($con,$query))
{
die ('Error: ' . mysqli_error($con));
}
echo '<div class="transstatus">' . '1 record added' . '</div>';

mysqli_close($con);
?>

ヘッダーには、明らかに、データベースに接続するための機能が含まれており、前述のように、別のクエリはそれで問題なく機能するため、それが問題ではないことはわかっています。送信ボタンをクリックすると、ページに次のようなエラーが表示されます。

エラー: SQL 構文にエラーがあります。near 'inout, units, transdate, refno) VALUES ('1234567','Storage In','81','09/11/2013'' atライン1

ここで、「1234567」、「Storage In」などは、フォームに入力する値です。

あなたが私を助けてくれることを願っています。私はとても立ち往生しています!

また、私は今のところ注射に対して保護されていないことを知っています. 後で作業する予定ですが、最初に機能をまっすぐにしようとしています。

4

3 に答える 3

1

以下を使用します。

$query = "INSERT INTO newtransaction (
         `moveid`, `inout`, `units`, `transdate`, `refno`
    )
    VALUES(
        '{$_POST[moveID]}', '{$_POST[inorout]}',
        '{$_POST[numberofunits]}', '{$_POST[dateoftransaction]}',
        '{$_POST[rrdt]}'
    )
";
于 2013-09-01T06:55:13.253 に答える
0
$query = "INSERT INTO newtransaction (moveid, inout, units, transdate, refno) 
VALUES
( '".$_POST['moveID']."','".$_POST['inorout']."','".$_POST['numberofunits']."',
   '".$_POST['dateoftransaction']."','".$_POST['rrdt']."')";

あなたはあなたのように投稿します='$_POST[dateoftransaction]'

正しい手順は、wampを使用している場合です= '".$_POST['dateoftransaction']."'

あなたが間違いを犯したことを願っています

フェラケム

于 2013-12-21T18:20:22.840 に答える