2016-04-16 7 views
1

私は初心者で、私のコードにいくつかの問題があります。エラーなしで保存しますが、それでもデータベースに反映されません。

エラーが発生しないため、すべてのことがわかりましたが、保存した後はデータベースに反映されません。ここで

はコードです:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "election"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 

// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 


$sqli = "INSERT INTO `election`.`registration` (`Reg_Num`, `Full_Name`, `Level`, `Gender`) VALUES ('$_POST[Reg_Num]', '$_POST[Full_Name]', '$_POST[Level]', '$_POST[Gender]');"; 
?> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Form</title> 
</head> 
<body> 
<title>Form Submitted</title> 
<p></p> 
<p>Thanks for Registering</p> 
<p></p> 
<a href="vote.php">Register another student</a><br /> 
</body> 
</html> 

助けてください!

+1

実際にそのインサートを発火させるコードはありません。 –

答えて

1

INSERTという文を実際に実行する必要があります。

$sqli = "INSERT INTO `election`.`registration` (`Reg_Num`, `Full_Name`, `Level`, `Gender`) VALUES ('$_POST[Reg_Num]', '$_POST[Full_Name]', '$_POST[Level]', '$_POST[Gender]');"; 
if ($conn->query($sqli) === TRUE) { 
    echo "insert succeeded"; 
} else { 
    echo "Error: " . $conn->error; 
} 
+0

@ user3288057 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Saty

+0

私は1つの行のレコードを表示するには、フィールド。たとえば、生徒の登録番号を検索するだけで生徒の名前やその他の情報を取得できますか? – user3288057

+0

あなたはこれについて新しい質問をするべきだと思います。 –

1

まず、mysqli_query()を呼び出す必要があります。 Mysqli_query($ conn、$ sqli)

次に、テーブルとは何ですか?それは選挙か登録ですか?また、最初のブラケットの内側のアポストロフィを削除します。また、データを変数に変換してください。 SQL文の最後にあるセミコロンの1つを削除します。

$reg_num = $_POST['Reg_Num']; 
$full_name = $_POST['Full_name']; 
$level = $_POST['Level']; 
$gender = $_POST['Gender']; 

$sqli = "INSERT INTO election(Reg_Num, Full_Name, Level, Gender) VALUES ('$reg_num', '$full_name', '$level', '$gender')"; 
// Check if data inserted successfully 
if(mysqli_query($conn, $sqli)) { 
    echo 'Data successfully inserted'; 
} else { 
    echo 'Error: ' . mysqli_error($conn); 
} 

第3に、入力と変数の名前として大文字を使用しないようにしてください。

第4に、HTML5形式に変更することをおすすめします。

+0

良い提案。あなたの答えは私のように見えます。 –

+0

あなたの解決策は正しいですが、「bind param」を提案する方が良い – Saty

+0

すぐにたくさんの生徒を挿入したいのですが?私は彼が学生データを一つずつ保存するように求めていると推測しています。 – Charas

-1

あなたの質問は間違っているようです。試してみてください:

//insert into your table registration 
// table name and column name should be without '' 
$sqli = "INSERT INTO registration (Reg_Num, Full_Name, Level, Gender) VALUES('$_POST[Reg_Num]', '$_POST[Full_Name]', '$_POST[Level]', '$_POST[Gender]');"; 
?> 
関連する問題