2016-10-17 4 views
1

php에 익숙하지 않습니다. 다음 코드를 확인하십시오. 아래의 코드에 대해 선택된 데이터베이스가 없습니다. 나는 oops에 코드를 작성했다. 어떤 도움을 주시면 감사하겠습니다. 도와주세요. 이 줄에 오류가 발생했습니다. runquery ($ query) 메서드에서이 줄에 오류가 발생했습니다.oops에서 데이터베이스를 선택하지 않았습니다.

die("invalid".mysql_error());' 

Dbconfig.php

<?php 
class Dbconfig 
{ 
    private $connection; 

    public function __constructor($hostname,$username,$password,$database){ 

     $this->connection=mysql_connect($hostname,$username,$password); 
     if(!$this->connection){ 
      die(mysql_error()); 
     }else{ 
      if(!mysql_select_db($database,$this->connection)){ 
       die(mysql_error()); 
      } 

     } 

    } 

    function runQuery($query){ 
     $result= mysql_query($query); 
     if($result){ 
      while($row= mysql_fetch_array($result)){ 
       $resultset[]= $row; 
      } 
      if(!empty($resultset)){ 
       return $resultset; 
      } 
     } else { 
      die("invalid".mysql_error()); 

     } 
    } 
} 

?> 

Config.php에

<?php 
require("path to dbconfig.php"); 
$base="http://localhost/slvbilling/"; 
$hostname='localhost'; 
$username='root'; 
$password=''; 
$database='slv'; 
$connect = new Dbconfig($hostname,$username,$password,$database); 
?> 
+2

mysql_로 *이 새 버전에서 감가 상각 및 7.0에서 제거됩니다. mysqli_ * 또는 PDO API를 살펴보십시오. – nerdlyist

+0

이'require ("dbconfig.php"경로) 문제가 무엇입니까? – xpuc7o

+0

네, mysqli_ *를 사용하십시오. 당신은 정의 생성자에서 실수를했습니다. 대신'public function __constructor ($ hostname, $ username, $ password, $ database)' –

답변

3

이 생성자는 코드 위의 시도에 대해 자신이 도움이 될 수

<?php 
    class Dbconfig 
    { 
     private $connection; 

     public function __construct($hostname,$username,$password,$database){ 
     $this->connection=mysql_connect($hostname,$username,$password); 
     if(!$this->connection){ 
      die(mysql_error()); 
     }else{ 
      if(!mysql_select_db($database,$this->connection)){ 
       die(mysql_error()); 
      } 

     } 

    } 

    function runQuery($query){ 
     $result= mysql_query($query); 
     if($result){ 
      while($row= mysql_fetch_array($result)){ 
       $resultset[]= $row; 
      } 
      if(!empty($resultset)){ 
       return $resultset; 
      } 
     } else { 
      die("invalid".mysql_error()); 

     } 
    } 
} 

?> 

파일 Dbconfig.php 아래 코드를 사용해보십시오!

-1

는 mysql_query에 대한 연결을 지나가는보십시오 :

function runQuery($query){ 
    $result= mysql_query($query, $this->connection); 
..... 

가에 연결을 통과하지만 의존하지 않고 작동합니다 프로젝트의 나머지 코드와이 인스턴스를 만들 데이터베이스의 인스턴스 문제가된다.

runQuery를 호출하는 코드를 제공하면 정답이 더 쉬울 것입니다.

1

중복 조건을 추가하는 대신 or die(mysql_error())에 mysql 함수를 추가했습니다.

아래 코드로 시도하십시오

..

<?php 
class Dbconfig 
{ 
    private $connection; 

    public function __construct($hostname,$username,$password,$database){ 

     $this->connection=mysql_connect($hostname,$username,$password)or die(mysql_error()); 
     mysql_select_db($database,$this->connection))or die(mysql_error()); 
    } 

    function runQuery($query){ 
     $result= mysql_query($query)or die("invalid".mysql_error()); 
     if($result){ 
      while($row= mysql_fetch_array($result)){ 
       $resultset[]= $row; 
      } 
      if(!empty($resultset)){ 
       return $resultset; 
      } 
     } 
    } 
} 
?> 
관련 문제