2014-06-21 3 views
-4

학생이 방정식을 계산 한 다음 members 데이터베이스에있는 셀로 보내주기를 바랍니다. 여기 html 형식의 데이터를 MySQL 데이터베이스에 삽입

내가 시도 무엇인가에 대한 설명없이

<?php 
//connect 
mysql_connect("localhost", "root", ""); 
mysql_select_db("members"); 
//insert 
$val3 = $_POST["result"]; 
$insert_query = "INSERT INTO users (results) VALUES ('$val3')"; 
$insertion_result = mysql_query($insert_query); 
$query = mysql_query($insert_query) or die(mysql_error()); 
//check whether the data insertion was successful 
if(!$insertion_result) 
echo "<p>Sorry! Something went wrong.</p>"; 
else 
echo "<p>Thanks! Your form has been processed.</p>"; 
?> 
+0

문제는 무엇입니까? –

+0

[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오. (http://bit.ly/phpmsql). 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). 귀하의 코드에는 심각한 SQL 삽입 취약점이 있습니다! –

답변

0

, 당신은 데있어 정확한 문제가 명확하지 않다. 실수로 행을 두 번 삽입 한 것 같습니다.

$insertion_result = mysql_query($insert_query); 
$query = mysql_query($insert_query) or die(mysql_error()); 

이들 각각은 쿼리를 제출하므로 행이 여러 번 삽입됩니다. $insertion_result 행을 제거하기 만하면됩니다.

또한 Benjamin이 의견에서 언급했듯이, mysql_ * 함수는 더 이상 사용되지 않습니다. mysqli는 당신이 원하는 것입니다.

$query = mysqli_query($insert_query) or die(mysqli_error()); 

기능은 거의 동일합니다. 마지막에 i을 추가하십시오.

+0

thnx so much 4 reply .. 내가 말했던 것과 그 종류의 일을 했어. 이제는 내가 결과로 얻은 결과 셀을 업데이트하려고 할 때 항상 사교계에서 내 문제를 생각해. , 내가 무슨 뜻인지 알 겠어? – MrB

+0

다음 학생으로 로그인하기 전에 로그 아웃 한 페이지가 있습니까? 해당 페이지에는 session_destroy()가 있어야합니다. 그것의 어딘가에 모든 세션 바를 지워야합니다. – CyberEd

+0

로그 아웃 페이지를 만들었지 만 여전히 똑같습니다 ,,, 모든 결과가 같은 셀로 이동합니다 – MrB

관련 문제