2016-10-17 2 views
1

Ich bin neu in php.Kindly überprüfen Sie den folgenden Code. Ich erhalte für den folgenden Code keinen Datenbankfehler. Ich habe Code in oops geschrieben. Jede Hilfe wird geschätzt. Bitte helfen Sie. Ich erhalte einen Fehler in dieser ZeileKeine Datenbank ausgewählt php in oops

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

in RunQuery ($ Query) -Methode.

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_ * wird in 7.0 in der neuen Version und entfernt abgeschrieben. Bitte schauen Sie sich die mysqli_ * - oder PDO-APIs an. – nerdlyist

+0

Vielleicht diese 'require (" Pfad zu dbconfig.php ");' ist das Problem? – xpuc7o

+0

ja bitte benutze 'mysqli_ *'. Sie haben einen Fehler in define constructor gemacht. Es sollte 'public function __construct ($ hostname, $ username, $ password, $ database)' anstatt 'public function __constructor ($ hostname, $ username, $ password, $ database)' –

Antwort

3

mit folgendem Code in Dbconfig.php Versuchen Datei

<?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()); 

     } 
    } 
} 

?> 

seine über Constructor nur über Code versuchen, es kann helfen!

-1

Versuchen Sie, mit der Verbindung zum mysql_query vorbei:

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

sollte es ohne das Bestehen der Verbindung arbeiten, aber abhängig von der Der Rest des Codes in Ihrem Projekt und die Instanzen der Datenbank, die Sie erstellen, könnten dies tun sei das Problem.

Wenn Sie den Code bereitstellen, der runQuery aufruft, wäre es einfacher, eine korrekte Antwort zu erhalten.

1

Platziert or die(mysql_error()) mit Mysql-Funktion statt redundante Bedingungen zu platzieren.

Bitte versuchen Sie es mit folgenden Code ..

<?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; 
      } 
     } 
    } 
} 
?> 
Verwandte Themen