2014-10-01 4 views
-2

표의 데이터를 테이블 방식으로 표시하려고합니다.MYSQL이 (와) 함께 작동하지 않습니다.

$myid = 'First_User'; 
$checkQuery = "SELECT * FROM MyDatabase WHERE id='" . $myid . "';"; 
echo $checkQuery; // it returns SELECT * FROM MyDatabase WHERE id='First_User';. I run in mySQL console , and it returns the record. 
$result = mysql_query($checkQuery);  
$row = mysql_fetch_array($result); 

위의 내용은 가져올 수없는 것 같습니다. 하지만 "Resource #3"라고합니다. 데이터가 표시되지 않습니다.

$myid = 'First_User'; 
$checkQuery = "SELECT * FROM MyDatabase"; 

$result = mysql_query($checkQuery); 
$row = mysql_fetch_array($result); 

이렇게하면 MyDatabase의 모든 데이터가 반환됩니다. 나는 MyDatabase에 First_User를 가지고있다.

+4

더 이상 사용되지 않는 오래된 MySQL 확장을 사용하여 데이터베이스 액세스를 배우지 마십시오. 준비된 문/바인드 변수와 함께 MySQLi 또는 PDO를 사용하는 법을 배웁니다. –

+1

은 'First_User'ID이거나 다른 열에 있습니까? – Mikpa

+1

'Resource # 3'을 얻기 위해 무엇을 표시하고,'$ result'를 표시하는 것처럼 들립니다. '$ row' 배열을 표시해야합니다 –

답변

0

안녕 MySQL은 테이블 오리 엔테이션입니다. 데이터베이스는 일반적으로 드라이버에 정의

SELECT * FROM your table_name WHERE field_name='Field_value';

당신이에서 데이터베이스에 연결하는 데 사용

Select <table felds> , < table felds> From <table> Where .... 
+0

WHERE 절을 생략 할 때 SELECT *가 작동합니다. 테이블의 이름이 "MyDatabase"인 것처럼 보입니다. – danmullen

0

문제는 기본적으로 당신이해야 할, 당신은 조회하고자하는 방법이다 경우는

mysql-connect 그러나

사용되지 않는 등 이미 PDO가 :

0
새로운 및 안전 사용해야 언급

은 간단하게이 시도 ..

$checkQuery = "SELECT * FROM MyDatabase WHERE id='$myid'"; 
+0

나는 $ checkQuery = "SELECT * FROM MyDatabase WHERE id = '$ myid'";를 시도한다. 동일한 데이터를 가져 오지 않았습니다. –

+0

프론트 엔드 웹 페이지에서 텍스트 상자를 사용하고 사용자로부터 데이터를 가져 와서 웹 페이지에 표시합니다. –

+0

if (isset ($ _ REQUEST [ 'Your button name']))) {$ text = $ _REQUEST ("귀하의 텍스트 상자 이름"); $ checkQuery = "SELECT * FROM MyDatabase WHERE id = '$ myid'"; $ query = mysql_query ($ checkQuery);} 그리고 에코 쿼리보다 .. –

0

이 시도 -

$myid = 'First_User'; 
$checkQuery = "SELECT * FROM MyDatabase WHERE id='$myid'"; 
$result = mysql_query($checkQuery); 
$row = mysql_fetch_array($result); 
while($row = mysql_fetch_array($result)) { 
    echo '<td><input type="text" name="ID" value='.$row[0].'></td>'; 
} 

참고 :mysql_* 기능을 사용하여. 대신 mysqli_* 기능을 사용하십시오.

0

첫째로 mysql_connect를 사용하지 않는, MySQLi 또는 PDO

내가 PDO를 선호을 사용합니다.

PDO에 연결하는 방법 :

$db_connection = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME . ';charset=utf8', DB_USER, DB_PASS); 

지금 당신은 당신의 쿼리를 작성하고 난, 난 아무것도를 놓친 havne't 희망

$query = $db_connection->prepare("SELECT * FROM `MyDatabase` WHERE `id` = :id"); 
$query->execute(array(":id" => $myid)); 
$result = $query->fetchAll(); 

foreach($result as $user) { 
    echo $user['id']; 
    echo "<tr>"; 
    echo "<td><input type=\"text\" name=\"ID\" value=\"" echo $row['id'] "\" /></td>"; 
    echo "</tr>" 
} 

를 가져 싶지만 읽어 보시기 바랍니다 PDO 문서 : http://php.net/manual/en/book.pdo.php (또는 mysqli : http://php.net/manual/en/book.mysqli.php)

그리고 쿼리 어딘가에 데이터를 사용하는 경우 mysql 삽입을 방지하는 방법에 대한 다른 게시물을 참조하십시오. How can I prevent SQL injection in PHP?

0

사용하십시오. 그리고 추가 쿼리는 결과 만 반환하기 때문에 LIMIT을 추가하십시오. 그것은 잠재적 인 잠재력입니다.

$id = $_SESSION['user_id']; // or something else. 

$checkQuery = "SELECT * FROM MyDatabase WHERE id='$id' LIMIT 1"; 

$results = mysqli_query($checkQuery); 

if ($result) $user=mysql_fetch_assoc($result); 

// use now. 

echo $user['user_name']; 
echo $user['id']; 
관련 문제