2017-01-20 4 views
1

を作成するには、私は、単純なHTMLフォームを持っているAJAX/PHP時間のずれSQL表

$data=json_decode($_POST['data'], true); 
    $section=$data[0]; 
    include './sql/write-section.php'; 
    $sql="CREATE TABLE ".$section." (revdate varchar(250), title varchar(250), descrip varchar(255), permissions varchar(99999), file varchar(255))"; 
    $result = $conn->query($sql); 
    $conn->close(); 

問題は、テーブルが作成されていないことです。当初は私のコードでは問題だと思っていましたが、PHPの2行目を$section="test";に置き換えるとうまくいきます。

また、POSTとSQLクエリの間にいくつかの行を追加すると、時にはが動作します。

これは非常に奇妙な動作で、私はJS/PHP/SQLの間に何らかの非同期または遅延の問題があると考えています。何か案は?

ありがとうございます!

+0

$データ出力は何ですか?例:var_dump($ data) –

+0

単にvar_dump($ data)を使って試してみましたが、 "sname"(HTML input ID)の値しか返しませんでした。さらに、$ data [0]を出力すると、 "sname"という値が出力され、HTML/JSの問題ではなく、PHP/SQLの問題であると信じてくれます。私は何らかのエラーチェックを行い、何も報告しなかった。 – ggggcccssssss

+0

'$ conn-> query($ sql)'の後に 'を追加すると何が表示されますか?($ conn-> error)' – Barmar

答えて

0

調査の日といくつかの迷惑をかけた後、私はこの問題を発見しました。それは本当にばかげています。

私が持っているクエリはスペースを許されません(または少なくともSQLバージョンではスペースを使用できません)。だから私は、のようないくつかの異なるものをしようとしていたしようとしたとき:

  • テストセクション
  • 試験部1

まあ、それは再び、決して働いていた理由は最適ですそれは私がテーブル名の "テスト"を入れて働いた。

スペースを許可するようにスクリプトを再構成しています。