mysqli無法連接數據庫(MySQL數據庫無法連接)

本文目錄一覽:

PHP用mysqli連接數據庫,回答unknowndatabase

unknown database說明mysql沒有連接成功。

一個案例:

$conn=mysql_connect(“localhost”,”root”,”123456″) or die(“數據庫服務器連接錯誤”.mysql_error());

mysql_select_db(“db_pursey”,$conn) or die(“數據庫訪問錯誤”.mysql_error());

mysql_query(“set names gb2312”);

還是一樣的錯誤,數據庫訪問錯誤Unknown database ‘db_pursey’

訪問不到該數據庫。

解決方法:請檢查連接端口是不是3306,如果不是就無法連接。

安裝了wamp,使用mysqli_connect函數連接數據庫,自己新建的用戶總是連接失敗。

 如果你是通過phpMyAdmin添加mysql用戶。

 1.請先使用root用戶登錄phpMyAdmin——”權限”,編輯你新增用戶的權限:

 2.普通用戶的”全局權限”是不需要設置的,滾動到“按數據庫指定權限”——下拉你要連接的數據庫,例如:

3.然後勾選”數據”和”結構”,”管理”勾選”LOCK TABLES”,點擊”執行”將給新增用戶指定數據庫權限。

4.然後再使用mysqli_connect連接,祝你好運^^

建議使用sqlbuddy來新增mysql用戶,雖然是英文界面,但是比phpMyAdmin方便許多。

masql數據庫鏈接失敗;object(mysqli)#1 (0) { }

定義和用法

mysql_free_result() 函數釋放結果內存。

如果成功,則返回 true,如果失敗,則返回 false。

語法

mysql_free_result(data)

參數

描述

data 必需。要釋放的結果標識符。該結果標識符是從 mysql_query() 返回的結果。

提示和注釋

注釋:mysql_free_result() 僅需要在考慮到返回很大的結果集時會佔用多少內存時調用。在腳本結束後所有關聯的內存都會被自動釋放。

例子

?php

$con = mysql_connect(“localhost”, “peter”, “abc123”);

if (!$con)

{

die(‘Could not connect: ‘ . mysql_error());

}

$db_selected = mysql_select_db(“test_db”,$con);

$sql = “SELECT * from Person”;

$result = mysql_query($sql,$con);

print_r(mysql_fetch_row($result));

// 釋放內存

mysql_free_result($result);

$sql = “SELECT * from Customers”;

$result = mysql_query($sql,$con);

print_r(mysql_fetch_row($result));

mysql_close($con);

?

PHP使用mysqli擴展連接MySQL數據庫

1.面向對象的使用方式

$db

=

new

mysqli(‘localhost’,

‘root’,

‘123456’,

‘dbname’);

如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫

$db-select_db(‘dbname’);

$query

=

“SELECT

*

FROM

user

WHERE

uid=4″;

$result

=

$db-query($query);

$result_num

=

$result-num_rows;

$row

=

$result-fetch_assoc();

//返回一個關聯數組,可以通過$row[‘uid’]的方式取得值

$row

=

$result-fetch_row();

//返回一個列舉數組,可以通過$row[0]的方式取得值

$row

=

$result-fetch_array();

//返回一個混合數組,可以通過$row[‘uid’]和$row[0]兩種方式取得值

$row

=

$result-fetch_object();

//返回一個對象,可以通過$row-uid的方式取得值

$result-free();

//釋放結果集

$db-close();

//關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接

當進行INSERT、UPDATE、DELETE操作時,使用$db-affected_rows查看影響行數

2.面向過程的使用方式

$db

=

mysqli_connect(‘localhost’,

‘root’,

‘123456’,

‘dbname’);

如果建立連接時未指定數據庫則選擇使用的數據庫,切換使用的數據庫

mysqli_select_db($db,

‘dbname’);

查詢數據庫

$query

=

“SELECT

*

FROM

user

WHERE

uid=4″;

$result

=

mysqli_query($db,

$query);

$result_num

=

mysqli_num_rows($result);

返回一行結果

$row

=

mysqli_fetch_assoc($result);

//返回一個關聯數組,可以通過$row[‘uid’]的方式取得值

$row

=

mysqli_fetch_row($result);

//返回一個列舉數組,可以通過$row[0]的方式取得值

$row

=

mysqli_fetch_array($result);

//返回一個混合數組,可以通過$row[‘uid’]和$row[0]兩種方式取得值

$row

=

mysqli_fetch_object($result);

//返回一個對象,可以通過$row-uid的方式取得值

斷開數據庫連接

mysqli_free_result($result);

//釋放結果集

mysqli_close($db);

//關閉一個數據庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接

當進行INSERT、UPDATE、DELETE操作時,使用mysqli_affected_rows()查看影響行數

PHP無法連接MySQL:die(‘Could not connect: ‘ . mysql_error());

這個主要就是顯示 出錯信息,方便查錯和調試,如果你知道 這裡會出現什麼問題的話 一般 if(!$q){

exit(‘數據庫連接失敗!!’);

}這樣寫就理友好一些了。

無法連接數據庫

如果用戶名 密碼沒錯的話

可能你的mysql並沒有安裝成window 服務

手動去mysql安裝目錄 下 啟動 bin目錄下的mysqld.exe

原創文章,作者:TCNI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134626.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TCNI的頭像TCNI
上一篇 2024-10-04 00:07
下一篇 2024-10-04 00:07

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論