2017-09-16 111 views
-2

以前的程序員使用過一個名爲database的類,它具有連接字符串和一堆函數。我現在必須將其轉換爲MySQLi,並且我不知所措。將mySQL轉換爲mySQLi - 使用類

class database { 
     var $sql=''; 
     var $result=''; 
     function database($host='localhost', $user, $pass, $db) { 
      // perform a number of fatality checks, then die gracefully 
      if (!function_exists('mysql_connect')) { 
       //or die('FATAL ERROR: MySQL support not available. Please check your configuration.'); 
       exit(); 
      } 

bla..bla..bla - bunch of code goes here 

function get_events_by_user($username) { 
    $sql = "SELECT event_id FROM user_events WHERE username = '$username'"; 
    $result = mysql_query($sql); 
    return $result; 
} 
} 

我試圖

var $link=mysqli_connect('localhost', $user, $pass); 

$result = mysqli_query($link,$sql); 

使用,但我不能使用表達式作爲變量的值,我不知道自己還能做些什麼。

非常感謝! :)

+0

開始與手動http://php.net/manual/en/book.mysqli.php並記住要通過連接作爲參數傳遞給你的方法。否則,你會得到一個超出範圍的問題。 –

+0

如何將連接作爲參數傳遞給我的方法? – Natalia

回答

0

嘗試使用此。 我認爲它解決了您的問題。

<?php 
    $link = mysqli_connect("localhost", $user, $pass, $databaseName); 
    if (!$link) { 
     die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); 
    } 
    mysqli_set_charset($link, "utf8"); 
?> 
0

只是在每個查詢中帶上$ link。

$link = mysqli_connect("localhost", $user, $pass, $db); 

function get_events_by_user($username) { 
    $sql = "SELECT event_id FROM user_events WHERE username = '$username'"; 
    $result = mysqli_query($link,$sql); 
    return $result; 

}