将mySQL转换为mySQLi - 使用类

问题描述:

以前的程序员使用过一个名为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

尝试使用此。 我认为它解决了您的问题。

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

只是在每个查询中带上$ 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; 

}