2016-05-22 163 views
0

我試圖做一個與XAMPP和sql server的連接。但是當我嘗試輸入數據或連接到數據庫時,出現此錯誤。致命錯誤:未捕獲錯誤:調用未定義的函數mysql_connect()在C: xampp htdocs

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\Maxipak\process.php:3 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Maxipak\process.php on line 3

我的第3行代碼如下所示:

$conn = mysql_connect ("localhost","root",""); 
+2

'mysql_ *'功能已被棄用使用'mysqli_ *'不是這樣,那麼你就不會有問題.. ! –

+2

並從PHP7中刪除。 –

+0

Ahaa..then如果你正在使用'XAMPP'與PHP7,所以這就是爲什麼你得到未定義的函數錯誤,然後..! –

回答

3

這裏是做一個正確的方法:

注:作爲mysql_*功能已被取消,因爲PHP 7所以被刪除,如果您使用的是XAMPPPHP 7如此那麼這就是爲什麼你會得到未定義的函數錯誤,而應該使用mysqli_*,因爲它非常易於使用。

如何創建一個數據庫連接使用的mysqli:

<?php 
/* Database config */ 
$db_host  = ''; 
$db_user  = ''; 
$db_pass  = ''; 
$db_database = ''; 
/* End config */ 
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_database); 
/* check connection */ 
if (mysqli_connect_errno()) {printf("Connect failed: %s\n", mysqli_connect_error());} 
?> 

注:只需插入數據庫的詳細信息,你會好到哪裏去..!

+0

這個作品謝謝你 –

1

您不必LIB mysql在php.ini激活。但是你不應該使用mysql_,因爲它已經被棄用了。你應該使用mysql _或PDO

+0

如果您按照您的說法激活它,它仍然不起作用,所以最好不要鼓勵OP使用棄用的功能。 :D –

+0

我說這是棄用的,他不應該使用這個,所以我不明白你的評論.... – nospor

1

正如評論中所建議的那樣,如果您在使用PHP7時使用XAMPP,mysql_*函數已被刪除。

這裏推薦替代連接到數據庫:

的mysqli

mysqli_connect("dbhost", "dbuser", "dbpassword", "db"); 

PDO

$stmt = new PDO('mysql:host=dbhost;dbname=dbname', 'dbuser', 'dbpass'); 
+0

看起來像'PDO'一切都改變了很多,但'MYSQLi'的東西改變很少或我錯了嗎?所以從'MYSQL'採用'MYSQLi'而不是'PDO'相當容易或者不是嗎? –

+0

你是對的,但是從長遠來看'PDO'是一個更好的做法,因爲它可以幫助防止SQL注入攻擊。 –

+0

呃...你也是正確的,但是在'mysqli'中使用準備好的語句,你幾乎可以防止SQL注入攻擊,不是嗎? –

0

致命錯誤:未捕獲的錯誤:調用未定義功能的mysql_connect( )in C:\ xampp \ htdocs

這個問題不是爲了支持你編碼的php版本。如果你想修復。首先快速更改您的xampp版本。不要改變你的設定等

例如:XAMPP 5.6版......(最佳選擇)

相關問題