2014-01-08 3 views
0

MySQL 데이터베이스에서 정보를 가져 오는 데 문제가 있습니다. ,MySQL에서 정보 얻기

/******************** 
* Database Info 
********************/ 

$host = "localhost"; 
$user = "admin"; 
$pass = "[email protected]"; 
$database = "db_admin"; 

/******************** 
* Database connection 
********************/ 

$con = mysqli_connect($host, $user, $pass, $database); 
if (mysqli_connect_errno()) { 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = array(); 
if (isset($_POST['ID'])) { 
    $id = $_POST['ID']; 
    $query = "SELECT * FROM Servers WHERE PID='" .$id. "'"; 
    $result = mysqli_query($con, $query); 
} 

print("<pre>".print_r($result,true)."</pre>"); 

내 첫 번째 질문 나는 "는 isset"기능은 currectly 사용 했 : 여기

내 코드? if 문이 실제로 실행되는 것처럼 보이지 않으므로.

내가 사용하고 URL이 : #..com/view.php?ID=1

내 두 번째 질문, 내가 제대로 $ 쿼리를 사용 했습니까? 도움을 내가 $ ID를 에코하고는 "MySQL의 개체()"마지막으로

을 반향 때문에 의 print"Array()"

난 그냥 PHP에 시작하고 인쇄 감사합니다 :)

답변

0

몇 가지 게시하시기 바랍니다 : 쿼리 문자열에 변수를 전달하는 경우

를, 값을 검색하기 위해 $ _GET 대신 $의 _POST를 사용합니다.

$ 결과는 레코드 자체에 대한 포인터가 아니라 레코드 세트에 대한 포인터를 반환합니다. mysqli_fetch_array()를 사용하여 행을 페치해야한다.

ADD : 당신 만 반환 한 기록을 보관 유지하는 경우, 당신은 사용할 수 있습니다

$row = mysqli_fetch_assoc($query); 
echo $row['field_name']; 

더 많은 기록을 한 다음를?

while($row = mysqli_fetch_assoc($query)){ 
    echo $row['field_name']; 
} 
+0

고마워요! :디 –

0

@ 귀하의 첫 번째 질문 : 이름이 "ID"인 입력 필드가있는 경우 해당 필드가 유용합니다. 또한 HTML :

$var = 'Hello world'; 

if(isset($var)){ //If the var $var has been set (in this case it is) 
    echo $var; 
} else { 
    //If $var is not set, then we get in the else 
    echo 'The var $var is not set'; 
} 
0

가장 좋은 방법은 디버거로 코드를 디버깅, 당신은 XDebug를 사용하거나 적어도 첫 번째 질문에

var_dump($_REQUEST, $result); 
0

대답을 어떻게되는지 var_dump();을 사용할 수 있습니다 :을 그것은 하드의 당신이하려고하는 것을 말하지 않았을 때 올바르게 사용했다면 말하십시오. 나는 POST 변수 'ID'가 수신 된 경우에만 if 문에 포함 된 코드를 실행하기를 원한다고 가정합니다. 그렇다면 제대로 한 것입니다.

두 번째 질문에 대한 답변 : 유효한 MySQL 쿼리를 사용하여 문자열을 작성하려고한다고 가정합니다. $_POST['ID']이 문자열이거나 문자열로 변환 될 수 있다고 가정하면 올바르게 수행했습니다 (http://www.php.net/manual/en/language.types.string.php#language.types.string.casting 참조).

$id이 표시되고 객체를 반환하는 경우 문제가 발생합니다. 당신은 문자열과 그와 같은 객체를 결합 할 수 없습니다. 예를 들어, foreach를 사용하여 객체를 반복하고 ID를 추출해야합니다.나머지 코드는 해당 부분이 해결 될 때까지 작동하지 않습니다.

지금 조사해야 할 것은 $ _POST [ 'ID']가 개체를 반환하는 이유입니다. 최소한 양식 코드를 제공해야합니다.