2013-03-25 12 views
5

में अपरिभाषित समारोह mysql_connect() करने के लिए कॉल के साथ मैं इस त्रुटि लेकिन सुझाव दिया प्रक्रियाओं काम करता है में से कोई भी "अपरिभाषित समारोह mysql_connect() करने के लिए कॉल करें" समस्या निवारण के लिए इंटरनेट खोज की है ...php + mysql गंभीर त्रुटि:

जब मैं phs से mysql तक पहुंचने का प्रयास करता हूं, तो मुझे यह त्रुटि मिलती है। मेरे पास PHP संस्करण 5.2.17 और MySQL 5.1.68 है (mysql php के बाहर चल रहा है, मैंने टेबल और डेटाबेस आदि बनाने का प्रयास किया है)।

मैं php.ini में एक्सटेंशन uncomment:

extension=php_mysql.dll 
extension=php_mysqli.dll 

और ये एक्सटेंशन के लिए पथ निर्दिष्ट।

मैंने अपने पैथ चर में PHP और MySQL दोनों को भी जोड़ा। मैं अपाचे 2.2 का उपयोग कर रहा हूं। और मैंने जो भी बदलाव किया उसके बाद मैंने सर्वर को पुनरारंभ किया।

इस डेटाबेस तक पहुँचने के लिए php में मेरी कोड है (लेकिन मुझे लगता है कि इस समस्या वाक्य रचना में नहीं है):

<?php  
     $dbhost = 'localhost'; 
     $dbuser = 'root'; 
     $dbpass = 'pasw'; 
     $dbname = 'db'; 

     $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); 
     mysql_select_db($dbname); 
?> 

मैं विचारों से बाहर हूँ कि यह कैसे तय करने के लिए, यू कुछ अन्य समस्या निवारण कर सकते हैं सुझाव युक्तियाँ? मैं उनकी समस्याग्रस्तताओं के लिए काफी नया हूं ... मैं MySQL का उपयोग करना चाहता हूं, क्योंकि मैं अपनी वेबसाइट को चालू और चलाने के दौरान वास्तविक सर्वर पर उपयोग करूंगा। अग्रिम में धन्यवाद!

संपादित करें: इस Apache लॉग से है:

[Mon Mar 25 13:50:42 2013] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Web\\thenemis\\dbconnect.php on line 7, referer: http://localhost/thenemis/admin.php 
[Mon Mar 25 13:50:42 2013] [error] [client 127.0.0.1] File does not exist: C:/Web/favicon.ico 

EDIT2: इस php जानकारी (मुझे लगता है कि समस्या php.ini फ़ाइल में कुछ अनिर्दिष्ट parametres साथ हो सकता है) से है। मैंने कहीं भी पढ़ा है कि मुझे एक्सटेंशन और पथ से कुछ अन्य विशेषताओं को निर्दिष्ट करना चाहिए, लेकिन शायद मैं गलत था ... आप क्या सुझाव देते हैं?

mysql 

MySQL Support enabled 
Active Persistent Links 0 
Active Links 0 
Client API version 5.0.51a 

Directive Local Value Master Value 
mysql.allow_persistent On On 
mysql.connect_timeout 60 60 
mysql.default_host no value no value 
mysql.default_password no value no value 
mysql.default_port no value no value 
mysql.default_socket no value no value 
mysql.default_user no value no value 
mysql.max_links Unlimited Unlimited 
mysql.max_persistent Unlimited Unlimited 
mysql.trace_mode Off Off 
+2

उपयोग phpinfo() करें कि आप सही php.ini – tuffkid

+0

संपादित करने के लिए php मॉड्यूल स्थापित करना होगा (दीपक/WAMP/आदि)? –

+0

मैंने php, mysql और apache अलग से स्थापित किया है (मैं WAMP या कुछ भी उपयोग नहीं करता) – Smajl

उत्तर

6

जैसा कि पहले से ही कहा गया था कि mysql सही तरीके से चल रहा है या नहीं, यह निर्धारित करने के लिए phpinfo() का उपयोग करें। सामान्य तौर पर आप mysql उपयोग नहीं करना चाहिए अब और अधिक बल्कि mysql के नए उन्नत संस्करण कहा जाता mysqli http://php.net/manual/de/book.mysqli.php

आप इसके अलावा में प्रोग्राम के रूप में जाँच कर सकते हैं एक समारोह method_exists विधि के साथ मौजूद है अगर यह उपयोग करने के लिए

+0

अजीब बात अभी हुई। मैंने अपने पीसी को पुनरारंभ किया और मुझे यह किसी तरह काम कर रहा है। मैंने हर बदलाव के बाद अपाचे को फिर से शुरू किया लेकिन इससे मदद नहीं मिली। किसी भी तरह से मैंने समस्या हल की ... जवाब के लिए धन्यवाद वैसे भी - phpinfo() वास्तव में बहुत मदद की थी ... – Smajl

3

प्रयास करें:

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'pasw'; 
$dbname = 'db'; 

<?php 
// Create connection 
$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname); 

// Check connection 
if (mysqli_connect_errno($con)) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
?> 

MySQL समर्थन PHP से हटा दिया जाएगा, इसलिए इसके बजाय MySQLi या PDO का उपयोग शुरू करें।

:)

0

मैं अपने कंप्यूटर की व्यवस्था चर में PHP के लिए पथ सेट, C:/program files/php; के लिए पथ मूल्य संपादित और php.ini में extension=php_mysqli.dll सक्षम होना चाहिए।

तो मैं इस समारोह

mysqli_connect($host,$username,$password)or die(mysql_error()); 

और वह एक प्रणाली को पुनः आरंभ करने के बाद इस्तेमाल किया। यह मेरे लिए काम किया; आशा है कि ये आपके काम आएगा।

2

सत्यापित करें कि PHP की स्थापना को mysql समर्थन के साथ संकलित किया गया है। <?php phpinfo(); exit(); ?> युक्त एक परीक्षण php फ़ाइल बनाएं और इसे अपने ब्राउज़र में चलाएं। कीवर्ड 'MySQL' के लिए पृष्ठ खोजें।यदि आप इसे नहीं देखते हैं, तो आपको PHP को MySQL समर्थन के साथ पुन: संकलित करने की आवश्यकता है, या एक PHP पैकेज को पुनर्स्थापित करना है जिसमें इसे अंतर्निहित है।

अपना टर्मिनल खोलें और कमांड कमांड चलाएं।

sudo apt-get install mysql-server 

आप PHP चला रहे हैं आप भी आप एक एएमपी ढेर का उपयोग कर रहे mysql के लिए

sudo apt-get install php5-mysql 
संबंधित मुद्दे