2017-06-20 11 views
-3

mySQLテーブルにデータを投稿する入力フィールドを取得できません。フォームを送信すると、フィールドが入力されます。新しいIDを持つ空白の行がmySQLテーブルに作成されるため、これはわかります。私は私の人生のために入力フィールドが投稿されない理由を理解できません!私のデータベースが接続し、mySQLテーブルをチェックして列名が一致することを確認しました。HTMLフォームがmySQL DBに入力を投稿していません

HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <title>PHP Site</title> 
</head> 
<body> 

<form action="demo.php" method="post"> 
    <p>First Name: <input type="text" name"fname"></p> 
    <input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

PHP:

<?php 
include ('db_connect.php'); 

// FORM NAMES 
$fname = $_POST['fname']; 

$sql = "INSERT INTO demo (firstName) VALUES ('$fname')"; 

if (!mysqli_query($conn,$sql)) { 
    echo "Error, Not Inserted"; 
} 
else { 
    echo "Inserted Successfully"; 
} 

mysqli_close($conn); 

?> 
+1

この質問は、もはや再現できない問題や、単純な誤植**のために終了しました。同様の質問がここでは話題になるかもしれないが、これは将来の読者を助けるとは思わない方法で解決された。これは、転記する前に問題を再現するのに必要な最短のプログラムを特定して綿密に検査することによって回避することができます。 –

答えて

-1

あなたがタイプミスをした、とだけname"fname"の代わりname="fname"を書きました。これを修正すると、入力を正しくPOSTする必要があります。

また、あなたはMySQLの注入に対して防ぐために、実際のアプリケーションのためにparameterised queriesに見てみたいことがあります。

$stmt = $conn->prepare("INSERT INTO demo (firstName) VALUES (?)"); 
$stmt->bind_param("s", $fname); 
$stmt->execute(); 

は、この情報がお役に立てば幸い! :)

+0

haha​​ha oh my!どうもありがとうございます!私は私の脳をぶち壊していた。あなたは最大のクッキーに値する!感謝!! –

+1

あなたは、**コードとチュートリアルのリクエスト**、**不明な**、**過度の広がり**、**タイプミス**、意見ベース**、**重複**、 **プログラミングに関連しない**およびすべて**オフトピック**の質問。不適切な質問に答えると、適切な結果を見つけるためにナビゲートするのが難しくなり**、最悪の場合はそのような質問がさらに奨励されるため、サイトが害されます**。代わりにそれを閉じる投票は、SOを助け、ユーザーが正しく使用するように教育します。 –

+0

この問題は印刷上の問題であると考えて、元のコードは注入に対して脆弱であり、上記の問題を改善する新しいコードを提供することで、私の答えを補完しました。また、空のDB挿入の原因に関するドキュメントはあまりないので、元の質問が同様の問題を抱えている人に役立つと思います。私がバイリンガルであり、英語が私の第四言語であることを考慮すると(確かに私のほうが良いのではないかと思います) –