如何使用单独的connection.php文件使用mysqli查询?

时间:2014-10-03 14:34:09

标签: php mysql

我遇到了mysqli的问题。我们知道mysqli需要两个参数来执行。一个是“查询”,另一个是“php连接线代码”。现在,我想创建一个单独的连接文件,并希望在每个文件中包含“单独的连接文件”,这样我就不需要在每个文件中编写连接代码,或者如果我更改连接文件,所有文件都会得到更新

但在这种情况下,我不会在每个文件中都有连接行代码,所以我只有一个参数来执行mysqli查询,所以我将无法执行它。有什么建议?我忽略了代码,因为Stack-overflow.com对它有太多限制。

2 个答案:

答案 0 :(得分:5)

Mark B确实回答了这个问题,虽然他的答案是针对mysql的 - 这是不推荐使用的,不应该使用

顺便说一句是mysqli而不是mysquli

程序风格
假设连接文件是:

<强> conn.php

<?php
    $mysqli=mysqli_connect($host,$user,$password,$db);
    if($mysqli_connect_error())
        die('Connect Error');
?>

和另一个文件:

<强> other_file.php

<?php
    require 'conn.php';
    $res=mysqli_query($mysqli,$query);    #yes $mysqli is available here although it is in another file
?>

OOP风格

<强> conn.php

<?php
    $mysqli=new mysqli($host,$user,$password,$db);
    if($mysqli->connect_error)
        die('Connect Error');
?>

和另一个文件:

<强> other_file.php

<?php
    require 'conn.php';
    $res=$mysqli->query($query);
?>

我在这里使用了普通的mysqli::querymysqli_query(它们是相同的),但是 我也建议使用预准备语句而不是mysqli::query ,因为它对SQL注入更安全。

答案 1 :(得分:0)

简化的伪代码:

connection.php:

<?php

$con = mysql_connect(...) or die(mysql_error());

任何其他脚本:

<?php

require('connection.php');

$stmt = mysql_query("SELECT ...", $con);

require()include()行为就是如果你真的削减&amp;将包含的文件粘贴到执行包含的文件中。

之间没有功能差异
<?php
    $con = mysql_connect();
    mysql_query($sql, $con);

<?php
   include('file_that_connects_to_mysql.php');
   mysql_query($sql, $con);

只要文件存在并且可以包含/需要,就好像你将其内容直接填充到父文件中一样。