當前位置: 首頁> 最新文章列表> mysqli::select_db函數的基本語法是什麼?詳細講解使用方法

mysqli::select_db函數的基本語法是什麼?詳細講解使用方法

gitbox 2025-08-11

<span><span><span class="hljs-meta"><?php</span></span><span> </span><span><span class="hljs-comment">// 这部分代码与文章内容无关,仅作为示例</span></span><span> </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"欢迎阅读本篇PHP教程。"</span></span><span>; </span><span><span class="hljs-meta">?></span></span><span> <hr> <h1>mysqli::</span><span><span class="hljs-variable constant_">select_db</span></span><span>函数的基本语法是什么?详细讲解使用方法</h1> <p>在PHP中,使用MySQLi扩展进行数据库操作时,切换数据库是常见的需求。<code>mysqli::</span><span><span class="hljs-variable constant_">select_db</span></span><span>

  • :要切換到的數據庫名稱。
  • 返回值為TRUE表示切換成功, FALSE表示失敗。

使用說明

當你使用new mysqli(...)連接數據庫時,通常會指定一個默認數據庫。但在某些情況下,你可能需要在同一個連接中切換不同的數據庫,這時就可以調用select_db

示例代碼

&lt;?php
</span><span><span class="hljs-comment">// 創建MySQLi連接,默認數據庫為db1</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"root"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"db1"</span></span><span>);

</span><span><span class="hljs-comment">// 检查連接是否成功</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"連接失败: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"當前數據庫為: db1\n"</span></span><span>;

</span><span><span class="hljs-comment">// 切換到db2資料庫</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">select_db</span></span><span>(</span><span><span class="hljs-string">"db2"</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"成功切換到資料庫 db2\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"切换資料庫失败: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error;
}

</span><span><span class="hljs-comment">// 後續可以在db2上執行查詢</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM table_in_db2"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span>) {
    </span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
        </span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$row</span></span><span>);
    }
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"查詢失敗: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error;
}

</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
?&gt;

注意事項

  • 調用select_db前,連接必須已成功建立。
  • 切換數據庫不會關閉當前連接,而是更改連接使用的數據庫上下文。
  • 如果指定的數據庫不存在,函數會返回FALSE ,並通過$mysqli->error獲取錯誤信息。

總結

mysqli::select_db是MySQLi面向對象方式中切換數據庫的函數,適用於同一連接需要操作多個數據庫的場景。掌握它可以使你的數據庫操作更加靈活。