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

How can I avoid using $conn in every single query?

我刚刚将我的代码从 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 的自动建议。

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

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

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

如果您喜欢使用自动建议,那么坚持使用 Dreamweaver,不幸的是不得不忍受必须继续包括 $conn

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

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

  • 使用面向对象的结构
  • 使用另一个 IDE
  • 学习您的代码,这样您就不需要依赖 Dreamweaver 自动提示
  • 忽略数据仓库。

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

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

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

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