2012-05-16 10 views
30

मैंने PHP, MySQL, और अपाचे सेट अप किया है। PHP के लिए localhost() और यह अच्छी तरह से काम कर रहा है। लेकिन जब मैंने MySQL डाउनलोड किया, तो यह रिपोर्ट करता है:घातक त्रुटि: अपरिभाषित फ़ंक्शन पर कॉल करें mysql_connect()

Fatal error: Call to undefined function mysql_connect()

मैं इसे कैसे ठीक कर सकता हूं?

+0

आप अपाचे पुनः आरंभ किया था के बाद आप संकुल स्थापित का उपयोग कर बच सकते हैं? – Devator

+0

http://nz.php.net/manual/en/mysql.installation.php – zerkms

+1

आपने अपना प्रश्न [mysql-error-1064] टैग किया है - यदि आप अपनी स्क्रिप्ट MySQL के साथ संवाद नहीं कर सकते हैं तो आप उसे कैसे प्राप्त कर सकते हैं? – Repox

उत्तर

6

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

+4

और यहां वह स्रोत है जिसे आपने http://www.somacon.com/p109.php –

+1

से कॉपी किया है, उसकी सहायता के लिए हाँ! –

+0

मुझे एक ही समस्या है, मुझे अपने परीक्षण पृष्ठ में कोई MySQL नहीं दिखाई देता है: https://jsfiddle.net/ad0gd90y/। इसके बजाय मैंने केवल "mysqlnd" देखा। क्या मुझे PHP से पहले MySQL इंस्टॉल करना चाहिए? मैं MySQL supprt के साथ PHP को पुन: संकलित कैसे करूं[email protected] रोहित कुमार चौधरी – rosemary

29

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

sudo apt-get install php5-mysql 
0

मेरे यहाँ समाधान (मैं अभी पिछले स्लैश (एनबी को दूर करने की जरूरत है:

sudo apt-get install mysql-server 

आप PHP चला रहे हैं आप भी mysql 5 के लिए php मॉड्यूल स्थापित करना होगा पिछड़े स्लैश) PHPIniDir 'c:\PHP\' से): Fatal error: Call to undefined function mysql_connect() cannot solve

1

उपयोग कर रहा हूँ विंडोज़ 8 n इस मुद्दे वातावरण चर बदलते

पालन द्वारा हल हो गया ये चरण: मेरे कंप्यूटर गुणों को खोलें-> उन्नत सिस्टम सेटिंग्स-> पर्यावरण चर। 'सिस्टम चर' के तहत, 'पथ' का चयन करें और 'संपादित करें' पर क्लिक करें 'परिवर्तनीय मान' में, 'सी: \ php;' जोड़ें या पथ जहां PHP स्थापित है।

ठीक क्लिक करें और सेटिंग्स को लागू करें और सिस्टम को पुनरारंभ करें। यह काम करना चाहिए।

4
PHP.INI 

चेक, अगर आप नीचे दिए गए विकल्पों को सक्षम करना भूल गया (दूसरों के बीच mysql के लिए मॉड्यूल को लोड करता है):

; Directory in which the loadable extensions (modules) reside. 
; http://php.net/extension-dir 
; extension_dir = "./" 
; On windows: 
extension_dir = "ext" 
2

मैं RHEL6 पर यह एक ही समस्या थी। यह पता चला है कि mysql.ini फ़ाइल में /etc/php.d में केवल एक मॉड्यूल नाम था, लेकिन एक पूर्ण पथ नाम की आवश्यकता थी। मेरी RHEL6 सिस्टम पर प्रवेश कि काम करता है:

; Enable mysql extension module 

extension=/usr/lib64/php/modules/mysql.so 

फ़ाइल को संशोधित करने के बाद, मैं अपाचे को पुनः आरंभ और सब कुछ काम किया।

14

यदि आपको PHP 7.0 में अपग्रेड करने के बाद यह त्रुटि मिलती है, तो आप बहिष्कृत पुस्तकालयों का उपयोग कर रहे हैं।

mysql_connect — Open a connection to a MySQL Server
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used.

अधिक यहाँ: http://php.net/manual/en/function.mysql-connect.php

+0

इसे स्वीकार्य उत्तर के रूप में चिह्नित किया जाना चाहिए - अभी भी mysql_ * कॉल का उपयोग करने के लिए यह बुरा अभ्यास है। – Skytiger

22

उपयोग "mysqli_connect"

$con = mysqli_connect("127.0.0.1","root","pass","your_database"); 

यह काम वाला होगा, मैं इस के साथ मेरी समस्या ठीक हो गई।

0

चेक अगर mysqli मॉड्यूल अपने PHP संस्करण

$ ls /etc/php/7.0/mods-available/mysql* 
/etc/php/7.0/mods-available/mysqli.ini /etc/php/7.0/mods-available/mysqlnd.ini 

मॉड्यूल

$ sudo phpenmod mysqli 
0

सक्षम के लिए स्थापित किया गया है इस संहिता आप

<?php 

$servername = "localhost"; 
$username = "root"; 
$password = ""; 


$con = new mysqli($servername, $username, $password); 

?> 

मदद लेकिन "सर्वर" बदल सकते हैं, "उपयोगकर्ता नाम" और "पासवर्ड"

0

यहां एक त्वरित फिक्स है:

सभी पेशेवर शायद मुझे इस उत्तर के लिए नफरत करेंगे। लेकिन मुझे सर्वर पर एक ही त्रुटि मिली: घातक त्रुटि: असहज त्रुटि: अपरिभाषित फ़ंक्शन mysql_connect() पर कॉल करें जो कि PHP 7 का उपयोग कर रहा था। सभी mysql कोड को फिर से लिखने का समय नहीं था, इसलिए किसी को भी त्वरित, अस्थायी फ़िक्स यह PHP कॉन्फ़िगरेशन देखने के लिए सीपीएएनईएल में है और उस खाते के संस्करण को PHP 7 के बजाय PHP 5.4 जैसे कुछ में बदलें। फिर कोड उपरोक्त त्रुटि के बिना ठीक काम करता है। जब आप अपने कोड लाइनों में mysql_connect उपयोग कर रहे हैं तो बस जोड़ने

if (!function_exists('mysql_connect')) { 
    function mysql_connect($host = '', $user = '', $password = '', $database = '', $port = 0, $socket = '') { 
     return mysqli_connect($host, $user, $password, $database, $port, $socket); 
    } 
} 


if (!function_exists('mysql_select_db')) { 
    function mysql_select_db($link, $dbname) { 
     mysqli_select_db($link, $dbname); 
    } 
} 
0

एक समाधान अनुकूलक कार्यों इस तरह अपने पूरे आवेदन से अधिक mysql के बजाय का उपयोग करने के mysqli का उपयोग शुरू करने से हो सकता है यह mysqli_cOnnect में है और यह समस्या को हल करेगा।
आपको अपने कोड लाइनों में mysqli का उपयोग करना होगा या समस्या फिर से सतह पर आ जाएगी।
उदाहरण mysql_select_db तब mysqL_select_db होगा।
यह डेटाबेस चुनने के लिए है।

धन्यवाद उम्मीद है कि इस मदद करता है

1

यह त्रुटि केवल अपने PHP संस्करण v7.0 के लिए आ रहा है। आप इन पीएचपी v5.0 बाकी

यह

mysqli_connect("localhost","root","") 

का उपयोग मैं केवल mysqli mysql से बने

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