0

私のPHP/SQLスクリプトは、クローンした新しいテーブルでは機能しませが、これを使用して新しいテーブルをコピーしたテーブルでは完全に機能します:

SELECT * INTO slide FROM news

ここに私の挿入フォームがあります:

<div class="the-form" style="width:100%;">
<form class="userTrans" method="post">
<input type="hidden" name="act_userTrans" value="__insertNews_">
    <p>
        <label for="title">Title:</label>
        <input type="text" name="title" id="title">
    </p>
    <p>
        <label for="type">News Type:</label>
        <input type="text" name="type" id="type">
    </p>
    <p>
        <label for="autor">Author:</label>
        <input type="text" name="autor" id="autor">
    </p>

    <input type="text" name="text2" id="text2">
    <p class="form-footer">
        <button class="button userTrans" style="background-color: #DB6D1D;">Publish News</button>
    </p>
</form>
</div>

そして、ここに私の編集フォームがあります:

<div class="the-form" style="width:100%;">
<form class="userTrans" method="post">
<input type="hidden" name="act_userTrans" value="__updateNews_">
    <p>
        <label for="title">Title:</label>
        <input type="text" name="title" id="title" value="<?=$edit[title]?>"/>
    </p>
    <p>
        <label for="type">News Type:</label>
        <input type="text" name="type" id="type" value="<?=$edit[type]?>"/>
    </p>
    <p>
        <label for="autor">Author:</label>
        <input type="text" name="autor" id="autor" value="<?=$edit[autor]?>"/>
    </p>

        <input type="text" name="text2" id="text2" value="">
        <input type="hidden" name="id" value="<?=$edit[id]?>">

    
    <p class="form-footer">
        <button class="button userTrans" style="background-color: #DB6D1D;">Publish News</button>
    </p>
</form>
</div>

2 つの異なるフォームを更新および挿入するプロセスは次のとおりです。

    if($activity == "__insertNews_")
    {
        $title = htmlspecialchars($_POST['title']);
        $autor = htmlspecialchars($_POST['autor']);
        $type = (int)$_POST['type'];
        if(empty($_POST['type']) || empty($_POST['autor']) || empty($_POST['title']) || empty($_POST['text2']))
        {
            echo response(0,'Fill up all the forms.',0);
            exit();
        }
        //echo $_POST[text2];
        $news = mssql_query("INSERT INTO DB1.dbo.news (title,text,type,autor) VALUES ('$title','$_POST[text2]','$type','$autor') ");
        echo response(1,'Publishing '.$title.' success!',0);
    }
    
    if($activity == "__updateNews_")
    {
        $title = htmlspecialchars($_POST['title']);
        $autor = htmlspecialchars($_POST['autor']);
        if(empty($_POST['autor']) || empty($_POST['title']))
        {
            echo response(0,'Fill up all the forms.',0);
            exit();
        }
        $news = mssql_query("UPDATE DB1.dbo.news set title='$title',autor='$autor' WHERE id='$id'  ");
        echo response(1,'Editing '.$title.' success!',0);
    }

したがって、上記のスクリプトを使用すると、 dbo.newsのコンテンツを挿入および更新できました。

ただし、 DB1.dbo.news を作成した新しいテーブル ( DB1.dbo.slide ) に変更する「INSERT」が機能しません。

同じフォームと処理スクリプトを使用してデータを追加しようとしましたが、「INSERT」は dbo.slide では機能しませんが、dbo.news でテストするとデータを挿入できます。UPDATE もテストしましたが、 dbo.slide と dbo.newsの両方で動作しています。

INSERT の SAME スクリプトが他のテーブルで機能しているのに、新しいテーブル ( dbo.slide )では機能しないのはなぜですか。コードを変更していないため、文字通り混乱しています。データを挿入するテーブルを変更しただけで、INSERT 関数が機能しなくなりました。

これをデバッグして、この問題の原因を突き止める最善の方法は何ですか?

4

2 に答える 2