2011-11-22 2 views
0

에 MySQL의에서 값을 가져 오기 :에 노력 PHP 배열

$existing_users=array('value','value','value', 'value'...) 

PHP 스크립트를 : : 다음과 같은 출력을 얻을 찾고 배열

에 아래 스크립트에서 쿼리를 사용하여 모든 사용자를 얻을

<?php 
require_once('../../../inc/db/dbc.php'); 
$connect = mysql_connect($h, $u, $p) or die ("Cant Connect to Database."); 
mysql_select_db($db); 

$q = mysql_query("SELECT uUName FROM User"); 

$existing_users=array(
    while ($row = mysql_fetch_array($q, MYSQL_NUM)) { 
     echo " '$row'.','"; 
    } 
); 

// $existing_users=array('joe','warren','tim'); 
# ^^^^ manual way of doing it 

//value got from the get metho 
$user_name=$_POST['user_name']; 
//checking weather user exists or not in $existing_users array 
if (in_array($user_name, $existing_users)) 
{ 
    //user name is not availble 
    echo "no"; 
} 
else 
{ 
    //user name is available 
    echo "yes"; 
} 
?> 

어떻게해야합니까? 나는 while/array 형성이 조금 떨어져 있다는 것을 안다. 어떻게 해결할 수 있을까?

감사

+0

사용자 이름을 사용할 수 있는지 확인하려면 다음과 같이 선택하십시오. SELECT uuname FROM User WHERE uUName = '$ user_name';'select에 데이터가 있으면 사용자 이름을 사용할 수 없습니다. 물론 입력 데이터의 유효성을 먼저 확인해야합니다. – EmCo

답변

1
$existing_users = Array(); 

while(list($username) = mysql_fetch_row($q)) $existing_users[] = $username; 

mysql_fetch_row($q) 당신에게 줄 것이다 Array(0 => result:uUName)

그래서 list($xxx) = mysql_fetch_row($q) - $ XXX 배열의 첫 번째 요소 (0 => 결과 : uUName) 당신의 result:uUName 같습니다가.

+0

피터, 신속한 응답과 설명에 감사드립니다! –