2011-09-26 14 views
0

이상한 이유로 다음 코드는 null을 반환하지만 설명서에서는 true 또는 false 중 하나를 반환해야한다고 설명합니다. mysqli 객체에는 정보가 없다.real_connect가 null을 반환하는 이유는 무엇입니까?

코드

// Initialize MySQLi 

$this->mysqli = new mysqli(); 

// Connect to the server 

var_dump($this->mysqli); 
var_dump($this->mysqli->real_connect($host, $username, $password, $database)); 
var_dump($this->mysqli); 

출력

object(mysqli)#2 (17) { ["affected_rows"]=> NULL ["client_info"]=> NULL ["client_version"]=> int(50141) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> NULL ["error"]=> NULL ["field_count"]=> NULL ["host_info"]=> NULL ["info"]=> NULL ["insert_id"]=> NULL ["server_info"]=> NULL ["server_version"]=> NULL ["sqlstate"]=> NULL ["protocol_version"]=> NULL ["thread_id"]=> NULL ["warning_count"]=> NULL } 
NULL 
object(mysqli)#2 (17) { ["affected_rows"]=> NULL ["client_info"]=> NULL ["client_version"]=> int(50141) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> NULL ["error"]=> NULL ["field_count"]=> NULL ["host_info"]=> NULL ["info"]=> NULL ["insert_id"]=> NULL ["server_info"]=> NULL ["server_version"]=> NULL ["sqlstate"]=> NULL ["protocol_version"]=> NULL ["thread_id"]=> NULL ["warning_count"]=> NULL } 

답변

1

당신은 올바르게 사용하고 있지 않습니다.

mysqli_init()을 사용하여 개체를 만들어야합니다.

또는 연결 정보를 생성자에 넣고 real_connect을 호출하지 마십시오.

+0

I 1 분 전 이걸 알아 냈어.하지만 다른 엄마 한테 일하고있어. chine, 정말 이상합니다. 고맙습니다! –

0

코드에 대한 컨텍스트가 무엇인지 궁금합니다. 기능에서 다음

<?php 
$h='localhost';$u='username';$pw='PW';$db='test'; 
$sqli = new mysqli($h,$u,$pw,$db); ?> 

이 파일 난 그냥 내가 config.php 파일이 설정 프로젝트에 근무 ... ...

<?php 
include_once 'include/config.php'; 
class User { 
public function __construct($sqli) { 
     $this->sqli=$sqli; 
} //etc. 
} ?> 

연결이 잘 작동하고 전화하여 클래스 사용자 함수 $ this-> sqli -> query ("SELECT ... ... 예 : 사용자를 만들 때 연결 전달 ... $ 0120 = $ new 사용자 ($ sqli);

+0

정확하게 "컨텍스트"가 무슨 뜻인지 모르겠습니다. 나는 똑같은 일을하고있다. 하나의 Database 클래스와 그것을 구성하는 하나의 핵심 파일이 있으며, 그 후에 핸들이 전달됩니다. 그것은 다른 머신에서 잘 작동했지만 여전히 정확한 초기화를 위해 추가되었습니다. –

관련 문제