2013-04-22 3 views
1

여러 열이있는 테이블에서 ID 번호를 검색하는 함수를 작성 중입니다.이 변수를 청구자에게 전자 메일의 "클레임 번호"로 보내고 확인을 위해 사용할 변수에 넣으려고합니다. 화면. 여기 내가 지금까지 가지고있는 것이있다. 당신을 가정 할mysql 테이블 셀에서 데이터를 검색하고 PHP의 변수에 저장하는 방법은 무엇입니까?

$sql = "SELECT id FROM warranty_claim where lname=$lname"; 
$result = mysql_query($sql); 
$claim_id = $result; 
+4

귀하의 코드가 SQL 인젝션에 취약합니다; 또한 mysql_ * 함수 모음은 더 이상 사용되지 않습니다. mysqli 나 PDO의 사용을 고려해보십시오 -이 문서가 도움이 될 것입니다 : http://stackoverflow.com/questions/1457131/php-pdo-prepared-statements – Dogoferis

+0

mysql_query는 결과 핸들을 리턴합니다. 핸들 당 행을 페치해야하는데, 행마다 데이터가 포함됩니다. –

+0

나는 약점이 있습니까? 나는 그것에 대해 많이 모른다. 어떻게 보호 하겠는가? –

답변

1
$result = mysql_fetch_array(mysql_query($sql)); 

$claim_id = $result['id']; 
+0

가장 짧고 가장 단순한 방법입니다. 이것은 확실히 upvote 자격. PDO와 MySQLi로 전환 할 것을 권장하는 다른 의견은 무시하지 마십시오. –

+0

@ ColorWP.com 나는 데이타베이스 프로그래밍에 새로운 것이 확실하지 않은 곳에 대해 PDO와 MySQLi에 대한 호언 장담을했다. 아직 ... :) –

1

는 1 개 행을 받게 될 것이라고 확신합니다.

$sql = "SELECT id FROM warranty_claim where lname=$lname"; 
$result = mysql_query($sql); 
$c = mysql_fetch_assoc($result); 
$claim_id = $c['lname']; 

NB * : 강의 준비. 누군가는 mysql이 불충분하다는 것을 말할 것이다. MySQLi 또는 PDO 사용을 시작합니다 (권장).

0

시도 :

$sql = "SELECT id FROM warranty_claim where lname=$lname"; 
$result = mysql_query($sql); 
$row = mysql_fetch_row($result); 
$claim_id = $row[0]; 

또는

$sql = "SELECT id FROM warranty_claim where lname=$lname"; 
$result = mysql_query($sql); 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $claim_id = $row['id']; 
} 
0

$row = mysql_fetch_array($result);

$claim_id = $row['id'];

당신은 또한 (예를 들어, if($result === FALSE)) 오류를 확인해야합니다 점에 유의하시기 바랍니다. 항상 정확히 하나 개의 행을 반환 진술에 의존하지 않는 내가 mysql_fetch_array 보는 것이 좋습니다 mysql_fetch_row, mysql_fetch_assoc 또한

mysql_fetch_object - - 또한, 데이터를 가져올 수있는 다른 방법이있다 결과가 예상대로 있는지 확인은 : mysql_num_rows

-1

이 사용 해보세요 :

$sql  = "SELECT id FROM warranty_claim where lname='".$lname."'"; 
$result  = mysql_query($sql); 
$objResult = mysql_fetch_array($result); 
$claim_id = $objResult['id']; 
+0

$ 결과로 액세스 할 수 없습니다 자원에있는 정보. mysql 결과 함수 중 하나를 사용해야합니다. –

+0

감사합니다. 감사합니다. –

+0

@ScottMorrison 그레이트 내가 도울 수있어! 당신은 아직 그것을 받아 들일 수 없기 때문에 upvote 내 대답을주는 것이 좋겠습니까? – Daanvn

관련 문제