2016-09-16 3 views
-1

글쎄, 난 그냥 HTML 마녀의 양식을 사용자 입력과 MySQL 데이터베이스를 받아들이도록했다. 이제 PHP 파일에 모든 것이 잘 돌아 가지 만 문제는 데이터가 데이터베이스에 표시되지 않는다는 것이다.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' 문을 ... 그게 아니에요 가지고'외에 당신의 DB 자격 증명 – cmorrissey

+2

그리고 insert', 당신 쿼리를 실행하지 않았습니다. – WillardSolutions

+2

을 게시하지 않는 모든 것을 거룩의의를 위해서 –

답변

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

관련 문제