2012-07-05 73 views
0

我试图使用预准备语句将数据插入到数据库中,从一个函数内。mysqli数据库连接范围?

从文件外部调用时下面的伟大作品:

function insert($value1, $value2) 
{ 
$mysqli = new mysqli("localhost", "***", "***", "***"); 
    if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
    if ($stmt = $mysqli->prepare("INSERT INTO table (col1, col2) values (?, ?)")) { 
    $stmt->bind_param('ss', $value1, $value2); 
    $stmt->execute(); 
} 
} 

不过,我要移动的连接字符串的函数,这会导致问题的范围之外。我读过,我需要一个类来做到这一点,任何人都可以解释一个例子吗?

感谢

回答

0

最简单的事情是移动的功能外连接线(到全球范围),并把函数内以下的开始:

global $mysqli; 

参见:http://php.net/global

你也可以使用一个类,如果你喜欢,并有一个类变量存储稍微涉及更多的连接。同样,PHP文档中的所有内容都清楚地解释了创建类,方法&变量并使用它的示例。

http://php.net/class

+0

我通过创建体上方的阶级和阶级的功能,做了这个工作“的回报是$ var;”。谢谢。 – 2012-07-13 10:56:45