如何避免在每个查询中使用$ conn?

时间:2015-01-27 15:39:01

标签: php mysql mysqli

我刚刚将我的代码从 mysql 更改为 mysqli ,而且似乎最好是:

如何避免在每个查询或某些mysqli的函数中使用$conn

$conn = mysqli_connect("localhost", "test", "", "world"); 
$result = mysqli_query($conn, "select * from user where id = '1'");
$result = mysqli_query($conn, "select * from company where name = 'marcus'");
$result = mysqli_query($conn, "...");
mysqli_real_escape_string($conn, "my string");

我该怎么做?

mysqli_query("select * from user where id = '1'");
mysqli_real_escape_string("my string");

使用$conn->query("...")并不是我想要的,因为它没有来自Dreamweaver的自动建议。

4 个答案:

答案 0 :(得分:5)

如果您将代码更改为面向对象(但这意味着使用$conn),则只能避免在每个连接中使用$conn->query

我建议可能会远离Dreamweaver(我相信很多人会同意)并使用像Sublime Text或其他文本编辑器这样的东西。然后你不能依靠自动建议,但是你要学习,因为你必须记住一切都是什么。

如果你喜欢使用自动建议,那么请坚持使用Dreamweaver,不幸的是我不得不继续使用$conn

我将补充说,大多数其他文本编辑器都包含变量,对象等的自动建议。我已经提到了Sublime Text,但还有其他付费和免费文本编辑器,如Coda和Notepad ++。

答案 1 :(得分:2)

你不能。如果您的主要原因是在Dreamweaver上自动建议,那么我建议:

  • 使用OO形结构
  • 使用其他IDE
  • 学习您的代码,这样您就不必依赖Dreamweaver自动建议
  • 忽略DW。

答案 2 :(得分:1)

这将违反最佳做法,但您可以使用全局变量定义新函数。

$conn = mysqli_connect("localhost", "test", "", "world");

function sql_query($sql) {
    global $conn;
    mysqli_query($conn, $sql);
}

sql_query("select * from user where id = '1'");

答案 3 :(得分:0)

$conn = mysqli_connect("localhost", "test", "", "world");放在一个单独的文件中,例如conn.phpinclude(),在您需要访问MySQL的所有页面的顶部。