2017-05-09 3 views
-2

나는 mysqli에 그다지 익숙하지 않았기 때문에 mysqli로 스크립트를 업그레이드해야한다. 다음은경고 : mysqli :: __ construct() : MYSQLI in PHP

코드 :

function getConnected($host,$db_user,$db_password,$db) { 

     $mysqli = new mysqli($host, $db_user, $db_password, $db); 

     if($mysqli->connect_error) 
     die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); 

     return $mysqli; 
    } 
    $mysqli = getConnected("localhost", "root", " ", "test"); 
+0

무엇이 필요한가요? 문제를 분명하게 설명하십시오. –

답변

0

난 아무것도 당신이 혼합되어 객체 지향 및 절차 적 스타일을 제외하고 코드와 함께 worng 표시되지 않습니다.

die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); 

die('Connect Error (' . mysqli->connect_errno . ') '. mysqli->connect_error); 

에 당신은 모든 OOP에 설정됩니다

단순히이 변경 (내가 생각하지 않는 것이 그건 실패하는 이유가 될 것이다).


이 후에는 http://php.net/manual/en/mysqli.query.php

$mysqli = getConnected("localhost", "root", " ", "test"); 
$mysqli->query('SELECT * FROM tableA'); 

또는


또는 문 http://php.net/manual/en/mysqli.prepare.php을 시작도

getConnected("localhost", "root", " ", "test")->query('SELECT * FROM tableA'); 
같은 일을 할 수 있어야합니다. 준비된 문을 구현하는 것이 좋습니다 (사용자 입력을 처리하는 경우 필수). 그것은 기본적으로 탈출을 대체합니다.

if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) { 

    /* bind parameters for markers */ 
    $stmt->bind_param("s", $city); 

    /* execute query */ 
    $stmt->execute(); 

    /* bind result variables */ 
    $stmt->bind_result($district); 

    /* fetch value */ 
    $stmt->fetch(); 

    printf("%s is in district %s\n", $city, $district); 

    /* close statement */ 
    $stmt->close(); } 

그것은 학습 곡선의 비트가 mysqli로 업그레이드입니다하지만 당신은 그것의 걸림있어 일단 당신은 이전 모델과 비교하는 방법을 강력한 볼 수 있습니다.