2016-06-23 2 views
1

Ниже приводится код:mysqli_query() ожидает, что параметр 1 будет mysqli, null задан. Определение соединения-вар для всего класса

class CONNECTOR { 
private static $USER="USER"; 
private static $PASS="PASS"; 
private static $SERVER="SERVER"; 
public static $CONN; 

public function __construct() { 
       $CONN=mysqli_connect(self::$SERVER, self::$USER, self::$PASS); 
    mysqli_select_db($CONN,self::$DB) or die(mysqli_error($CONN)); 
} 
public static function checkLogin($u){ 
    $q="SELECT * FROM users WHERE username='".$u."';"; 
    $r=mysqli_query($CONN,$q) or die(mysqli_error($CONN)); 
    if(mysqli_num_rows($CONN,$r)==1){ 
     return true; 
    } else { 
     return false; 
    } 
}} 

И когда я запускаю это, предупреждение приходит «нуль дано», как $ CONN не определен во всех функциях.

Должен ли я определять $ CONN в каждой функции? Не существует ли метода определения $ CONN, который может использоваться для всего класса?

+0

try 'var_dump ($ CONN); die() ', чтобы проверить, является ли оно нулевым или нет, после инициализации ... –

ответ

1

вы смешивания MySQL и MySQLi

вы должны использовать соединение, как это.

$CONN=mysqli_connect(self::$SERVER, self::$USER, self::$PASS,self::$DB); 
+0

где? в функции __construct? Я пробовал глобальный, но не смог. Я хочу определить $ CONN для функции checkLogin. – Ajit

+0

yes relale your $ CONN = mysqli_connect (self :: $ SERVER, self :: $ USER, self :: $ PASS); mysqli_select_db ($ CONN, self :: $ DB) или die (mysqli_error ($ CONN)); с моим ответом. –

+0

Этот ответ неправильный и вводящий в заблуждение. Тот, кто его поддержал, должен вернуть свой голос. –

Смежные вопросы