2013-08-21 2 views
0

MySQL 데이터베이스에 연결하여 테이블 (builditblocks)을 검사하여 사용자가 "이름"열에 지정한 데이터가 있는지 확인하려고합니다. 이 이름이있는 경우PHP, MySQL 테이블에 이름이 있는지 확인하는 방법

<?php 
$temp=mysqli_query($con, "SELECT * FROM `builditblocks`.`module_index`.`name`"); 
$i = 0; 
while($module = mysqli_fetch_array($temp)) 
{ 
    "moduleArray[".$i."]=\"" . $module["name"]."\";" ; 
    $i++ 
    //stuck here I need to know how to 
    //store them all in an array and check 
    //to see if the input matches any array elements 
} 

가 어떻게 표를 확인합니까 : 여기

는 지금까지이 무엇인가? 처음에는

+0

코드가 어떻게 보이는지 보지 못합니다. 그것으로 바이올린을 피하십시오 http://jsfiddle.net/7xeBC/ –

+1

코드를 포맷하면 (http://stackoverflow.com/help/formatting) 쉽게 볼 수 있습니다. 또한, 당신이 묻는 것은 매우 기본적인 것입니다, 나는 게시하기 전에 SQL과 PHP에 대한 기본 튜토리얼을 읽는 것이 좋습니다. – Technoh

+1

WHERE 문을 사용하여 SQL 쿼리에서 직접 일치하는 항목을 필터링하는 것이 좋습니다. 하지만 먼저 적어도 mysql_real_escape_query() 함수를 사용하여 사용자 입력을 살균 할 필요가있다. 오래된 mysqli 함수를 사용하는 대신 PDO 라이브러리를 조사해야한다. –

답변

1

는, 새로운 배열에 이름을 누르고 당신은 "LIKE"와 결합 된 "WHERE"절을 시도 할 수도 in_array

$modules = array(); 
while($module = mysqli_fetch_array($temp)) 
{ 
    $modules[] = $module['name']; 
} 

if(in_array($_POST['input'], $modules)) 
    echo "I found"; 
else 
    echo "Not found"; 
0

데이터베이스에 이름이 있는지 알아 보려면 SQL 쿼리에 WHERE을 추가하기 만하면됩니다.

$name = $module['name']; 

"SELECT * FROM 'builditblocks'.'module_index'.'name' WHERE name = '".$name."'" 

그런 다음 무엇이 반환되는지 확인하십시오. 그렇다면 그 이름은 존재하지 않는다면 존재하지 않는다. 이 도움이

$name = $module["name"]; // Assign your user input to a variable 
$temp = mysqli_query($con, "SELECT * FROM builditblocks.module_index WHERE name = '" . $name . "'"; // Get all fields from table where the name field equals the user input. 
if ($temp) { 
    // If any records were returned the name exists 
} else { 
    // Otherwise the name doesn't exist 
} 

희망 :

0

은 다음보십시오.

관련 문제