2012-10-11 2 views
0

OOP PHP를 처음 접하는 모든 분께. 난 다음에 여기에 코드 조각을 다음 있습니다 : test2.php라는 이름의 다른 파일에mysql_query에서 테이블을 선택하는 법 PHP

test.php

<?php 
class test 
{ 
    private $dbhost; 
    private $dbname; 
    private $user; 
    private $pass; 
    public function __construct() 
    { 
     $this->dbhost = 'localhost'; 
     $this->dbname = 'XXXX'; 
     $this->user = 'root'; 
     $this->pass = ''; 
    } 
    public function open($obj) 
    { 
     $con = mysql_connect($this->dbhost,$this->user,$this->pass) or die(mysql_error()); 
     $db = mysql_select_db($this->dbname)or die(mysql_error()); 
     $query = mysql_query("SELECT * FROM '".$obj."'") or die(mysql_error()); 

    } 

} 

?> 

난 다음 코드 조각이 :

<?php 
    require_once('testClass.php'); 
    $obj = new test(); 
    $obj2 = 'user'; 
    $obj->open($obj2); 
?> 

을 그리고 다음 오류가 발생했습니다 : SQL 구문에 오류가 있습니다. 도움을 사전에 라인 1

thnx에서 '사용자', '근처에 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 $

+1

OO를 코딩하려는 경우 OO이므로 [PDO] (http://php.net/class.pdo.php)를 사용해야하며 자신의 클래스로 확장 할 수 있습니다. 현재 휠체어를 다시 발명하고 있습니다. – feeela

+1

@ feeela의 의견 외에도 휠을 다시 발명하고 있지만 빌드하기 위해 더 이상 사용되지 않는 기능을 사용하고 있습니다. http://php.net/mysql_query의 빨간색 상자를 참조하십시오. 그것은 이유가 있습니다. –

답변

4

OBJ는 TABLENAME해야 당신은'아무튼 테이블 이름 주위에 작은 따옴표 을 넣어야합니다.

mysql_query("SELECT * FROM ".$obj) or die(mysql_error()); 

편집 :

while($row = mysql_fetch_array($query)){ 
    echo $row['userId']; 
} 

제안 : 귀하의 쿼리를 MySQL을 주입 공격에 의해 영향을받을 수 있어야합니다. PDO 또는 Mysqli lib를 사용하는 것이 좋습니다.

+0

thnx GBD는 현재 정확하게 작동하기를 원합니다. – AliMohsin

+0

정확하게 작동하지만 $ show = mysql_fetch_array ($ query)와 같은 또 다른 오류가 있습니다. \t \t의 foreach ($이 같이 $ 표시) \t \t는 { \t \t \t는 [ 'userId를'] 도시 $ 에코; \t 하지만 1,2a1nnpp00aa00aa22 대신 1,2a ... 지금 내 테이블에 있습니다. – AliMohsin

+0

이 방법은 사용할 수 없습니다. – GBD

1
$sql = mysql_query("SELECT * FROM your_table"); 
$row = mysql_num_row($sql); 
if($row > 0){ 
//do something 
}else{ 
echo "No records found"; 
} 
+0

회신에 대한 초보자하지만 난 이걸 많이 가지고 연극을 가지고 지금 OOP PHP에서 그것을 시도 할 것입니다 ... – AliMohsin

+0

오, 정말 미안해 ... 그럼 당신에게 잘해. :) – Lian

+0

괜찮습니다. 하지만 내가 일하는 방식으로 GBD에서 답변을 볼 수 있으며 의견을 통해 그와 대화 할 수 있습니다. OOP PHP – AliMohsin

관련 문제