2016-01-03 12 views
38

मैं XAMPP और MySQL सर्वर के साथ एक साधारण कनेक्शन करने का प्रयास कर रहा हूं, लेकिन जब भी मैं डेटा दर्ज करने या डेटाबेस से कनेक्ट करने का प्रयास करता हूं, तो मुझे यह त्रुटि मिलती है।घातक त्रुटि: असहज त्रुटि: अपरिभाषित फ़ंक्शन पर कॉल करें mysql_connect()

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

लाइन 22 का उदाहरण:

$link = mysql_connect($mysql_hostname , $mysql_username); 
+1

। –

+7

[** कृपया, नए कोड ** में 'mysql_ *' फ़ंक्शंस का उपयोग न करें **] (http://stackoverflow.com/q/12859942)। वे अब बनाए रखा नहीं जा रहे हैं [और आधिकारिक तौर पर बहिष्कृत हैं] (https://wiki.php.net/rfc/mysql_deprecation)। [** लाल बॉक्स **] देखें (http://uk.php.net/manual/en/function.mysql-connect.php)? इसके बजाय [* तैयार कथन *] (http://en.wikipedia.org/wiki/Prepared_statement) के बारे में जानें, और [पीडीओ] (http://php.net/pdo) या [MySQLi] का उपयोग करें (http: // php.net/mysqli)। – Rizier123

+0

Demeteor

उत्तर

62

mysql_* कार्यों पीएचपी 7.

आप शायद XAMPP में पीएचपी 7 है में हटा दिया गया है। अब आपके पास दो विकल्प हैं: MySQLi और PDO

इसके अतिरिक्त, here पीडीओ के बारे में एक अच्छा विकी पृष्ठ है।

20

आप mysql_connect($mysql_hostname , $mysql_username) के बजाय mysqli_connect($mysql_hostname , $mysql_username) का उपयोग कर सकते हैं।

mysql_* कार्यों को हटा दिया गया पीएचपी 7. के रूप में अब आप दो विकल्प हैं: MySQLi और PDO

+0

आपके कोड में अन्य परिवर्तनों की आवश्यकता होने की संभावना है, हालांकि – ceejayoz

+1

उबंटू 16.04 पर, इसे 'php7.0-mysql' पैकेज' की आवश्यकता होती है। ceejayoz कहते हैं, वास्तव में कई एपीआई परिवर्तन आवश्यक हैं, न केवल नामों को काम करने के लिए बल्कि उनके तर्कों के क्रम में। बहुत निराशाजनक। –

+0

असहज एक लेकिन यह मेरे लिए काम करता है, कम से कम जब तक मैं पीडीओ कनेक्शन – adeguk

1

mysql_ फ़ंक्शंस को PHP 7 से हटा दिया गया है। अब आप MySQLi या PDO का उपयोग कर सकते हैं।

MySQLi उदाहरण:

mysqli_connect($mysql_hostname, $mysql_username, $mysql_password, $mysql_dbname); 

mysqli_connect reference link

14

यह या तो MySQLi या पीडीओ एक्सटेंशन का उपयोग करने की सिफारिश की है। यह, नए विकास के लिए वर्ष mysql एक्सटेंशन का उपयोग करने के लिए सिफारिश नहीं है के रूप में यह पीएचपी 5.5.0 में पदावनत किया गया था और PHP में हटा दिया गया था 7.

PHP MySQL से कनेक्ट करने के तीन अलग-अलग एपीआई प्रदान करता है। नीचे हम mysql, mysqli, और पीडीओ एक्सटेंशन द्वारा प्रदान की गई एपीआई दिखाते हैं। प्रत्येक कोड स्निपेट उपयोगकर्ता नाम "उपयोगकर्ता नाम" और पासवर्ड "पासवर्ड" का उपयोग करके "example.com" पर चल रहे एक MySQL सर्वर से कनेक्शन बनाता है। और उपयोगकर्ता को बधाई देने के लिए एक प्रश्न चलाया जाता है।

उदाहरण # 1 तीन MySQL एपीआई

<?php 
// mysqli 
$mysqli = new mysqli("example.com", "username", "password", "database"); 
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL"); 
$row = $result->fetch_assoc(); 
echo htmlentities($row['_message']); 

// PDO 
$pdo = new PDO('mysql:host=example.com;dbname=database', 'username', 'password'); 
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL"); 
$row = $statement->fetch(PDO::FETCH_ASSOC); 
echo htmlentities($row['_message']); 

// mysql 
$c = mysql_connect("example.com", "username", "password"); 
mysql_select_db("database"); 
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL"); 
$row = mysql_fetch_assoc($result); 
echo htmlentities($row['_message']); 
?> 

मैं तुम दोनों MySQLi और पीडीओ बाहर कोशिश करते हैं और क्या एपीआई डिजाइन आप पसंद करते हैं यह पता लगाने का सुझाव तुलना।

पढ़ें Choosing an API और Why shouldn't I use mysql_* functions in PHP?

-1

आप क्योंकि mysql_connect समारोह (वास्तव में, सभी mysql_* कार्यों) पीएचपी 7. से हटा दिया गया अब आप MySQLi या PDO उपयोग कर सकते हैं कि त्रुटि मिली।

उदाहरण: MySQLi और PDO:

$mysqli = new mysqli($hostname, $username, $password, $database); 
-2

mysql_* कार्यों पीएचपी 7.

में हटा दिया गया है अब आप दो विकल्प है।

पीछा कर रहा है एक से पहले (-) और के बाद (+) MySQLi में कुछ सामान्य परिवर्तन, सीधे काम कर कोड से बाहर ले जाया की तुलना:

-if (!$dbLink = mysql_connect($dbHost, $dbUser, $dbPass)) 
+if (!$dbLink = mysqli_connect($dbHost, $dbUser, $dbPass)) 

-if (!mysql_select_db($dbName, $dbLink)) 
+if (!mysqli_select_db($dbLink, $dbName)) 

-if (!$result = mysql_query($query, $dbLink)) { 
+if (!$result = mysqli_query($dbLink, $query)) { 

-while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
+while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 

-mysql_close($dbLink); 
+mysqli_close($dbLink); 
अतीत अपना पूरा कोड
+0

के साथ अपना कोड अनुकूलित नहीं करता नीचे वोट? – user664833

संबंधित मुद्दे

 संबंधित मुद्दे