2015-01-02 4 views
-2

"login""valid_stuid"(valid student id)이라는 데이터베이스에 두 개의 테이블이 있습니다. "valid stuid""stu_id""status"을 두 행이,의는 "status" 행에서 "stu_id" 행에서 "123""open"을있는 지금 1 열이 테이블 "valid stuid"에서 사용할 수 있습니다 말할 수 있습니다. 나는 학생 ID, 사용자 이름, 비밀 번호, 이름과 성으로 사용자를 등록하는 PHP 스크립트를 만들었습니다. 지금까지 성공적으로 데이터베이스에 입력했지만 valid_stuid 테이블에서 상태를 선택하는 데 어려움을 겪고 있습니다. 나는 내가 $stuidcheck의 값을 비교에 비참하게 실패하고 다른 언어에서이 같은 비교의 아이디어를 가지고 생각PHP에서 가져온 값을 어떻게 비교합니까?

if(isset($_POST["submit"])){ 
if(!empty($_POST['stuid']) && !empty($_POST['user']) && !empty($_POST['pass']) &&  !empty($_POST['fname']) && !empty($_POST['lname'])) { 
$stuid=$_POST['stuid']; 
$user=$_POST['user']; 
$pass=$_POST['pass']; 
$fname=$_POST['fname']; 
$lname=$_POST['lname']; 

$con=mysql_connect('localhost','root','') or die(mysql_error()); 
mysql_select_db('user_registration') or die("cannot select DB"); 

$stuidcheck="SELECT status FROM valid_stuid WHERE id='".$stuid."'"; 
     if($stuidcheck == "used") 
      { 
      echo "Student ID is registered to another account!"; 
      } 
     else{ 
      $sql1="INSERT INTO login(stu_id,username,password,first_name,last_name) VALUES('$stuid','$user','$pass','$fname','$lname')"; 
      mysql_query($sql1); 
      $sql2="INSERT INTO valid_stuid(stu_id,status) VALUES('$stuid','used')"; 
      mysql_query($sql2); 
      } 
} else { 
echo "Please fill up all fields"; 
} 
} 
?> 

:

내 코드는 같은 간다. 또한 수정을 사용하여 "open"에서 "used"으로 상태를 변경하려고 계획하지만이 작업을 마친 후에 시도 할 것입니다.

당신은 실제로 DB에 대한 쿼리를 수행 할 필요가
+1

'$ stuidcheck'는 문자열입니다. 먼저'$ stuidcheck' 쿼리를 실행하십시오. –

+0

배열을 $ stuidcheck 문자열 대신에 '$ stuidcheck' 대신'stuidcheck'를 사용하는 것으로 보입니다 – AVM

+0

@u_mulder, 실제로 select를 쿼리하는 방법을 모르므로 insert로부터 쿼리가 작동한다고 생각했지만 저는 어쨌든 작동하지 않으므로 제거했습니다. select 문을 올바르게 쿼리하는 방법을 연구하려고합니다. 감사합니다 –

답변

3

:

$stuidcheck="SELECT status FROM valid_stuid WHERE id='".$stuid."'"; 
    if($stuidcheck == "used") 

이 모든 문자열 $stuidcheck에게 값 "SELECT ..."를 제공하는 것입니다 않습니다,하지만 당신은 같은 것을 수행해야합니다

$result=mysql_query($stuidcheck); 
$row=mysql_fetch_assoc($result); 
if ($row['status'] == "used") 

또는 (내 PHP가 녹슬지 만, 수천 개의 코드 예제가 있습니다.)

+0

코드가 제대로 작동하지 않더라도 문제가있는 곳을 볼 수있게되어서 고맙습니다. 그래서 제대로 수행 할 수있는 방법을 효과적으로 연구 할 수있었습니다. 난 그냥 일주일 전에 PHP를 시작하고 이번 주 동안 나는 아직도 고투하고 있지만 당신이 많이 도와 줬어 그래서 SQL과 PHP를 통합하는 방법을 결정했다. 고맙습니다! –

+0

OMG 나는 너무 바보 같아서,이 코드는 작동했다! 그건 내 잘못이야! 문제를 결정하기 위해 mysqli_error를 사용했고 WHERE 뒤에 stu_id 대신 id를 넣었다. PaulJ 정말 고마워! –

관련 문제