2016-09-16 12 views
-1

私はちょうどHTML魔法のフォームを作ってユーザーの入力とそれらを保存するmysqlデータベースを受け取りました。今はPHPファイルにすべてエラーはなくなりますが、データはデータベースに表示されませんデータベースを使ったデータベースの更新

<?php 
if(isset($_POST["submitacc"])){ 

    $servernm = "localhost"; 
    $serverusrnm = "root"; 
    $serverpass = "2003"; 
    $db = "blue"; 

    $conn = new mysqli($servernm, $serverusrnm, $serverpass, $db); 

    if($conn ->connect_error){ 
     die("connection failed".$conn->connect_error); 
    } 

    $fnm = $_POST["fnm"]; 
    $lnm = $_POST["lnm"]; 
    $mail = $_POST["mail"]; 
    $pass = $_POST["pass"]; 
    $age = $_POST["age"]; 
    $gender = $_POST["gender"]; 
    if(isset($_POST["gender"])&&$_POST["gender"]=="male"){ 
     $gender = "male"; 
    }else { 
     $gender = "female"; 
    } 


$mysql="update createacc set fnm = '$fnm', lnm = '$lnm', mail = '$mail', passwod = '$pass', age = '$age', gender = '$gender' "; 

if($conn->query($mysql)== true){ 
    echo "record updated"; 
}else { 
    echo "error updating record".$conn->error; 
} 
$conn->close(); 
} 
?> 
+7

だけでなく、あなたが 'update'文を持っているが...それはすべてのことは、神聖だのために' – cmorrissey

+2

insert'ではありません、ほかにあなたを – WillardSolutions

+2

あなたのDBの資格情報を投稿しないでくださいクエリを実行しませんでした。 –

答えて

0

query()の代わりにmysqli_query()を使用してください。また$ mysql変数にWHERE句を使用してください。 WHERE句は、更新すべきレコードを指定します。 WHERE句を省略すると、すべてのレコードが更新されます。

例:

if(mysqli_query($conn , $mysql)){ 

    echo "Records were updated successfully."; 

} else { 

    echo "ERROR: Could not able to execute $mysql. " . mysqli_error($conn); 

} 
+1

'$ conn-> query($ mysql)'は 'mysqli_query($ conn、$ mysql)'と同じです。 – Barmar

+0

一般に、OOとmysqliの機能的な使い方を混在させるのは間違っていると考えられます。それは動作しますが、それは貧弱なスタイルです。 – Barmar

関連する問題