2010-10-28 79 views
1

以下是錯誤消息:調用未定義的函數mysql_connect?

Fatal error: Call to undefined function mysql_connect() in /var/www/config.php on line 10

下面是代碼:

<?php 

ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 

include('config.php'); 

// table name 
$tbl_name=temp_members_db; 

// Random confirmation code 
$confirm_code=md5(uniqid(rand())); 

// values sent from form 
$name=$_POST['name']; 
$email=$_POST['email']; 
$country=$_POST['country']; 

// Insert data into database 
$sql="INSERT INTO $tbl_name(confirm_code, name, email, password, country)VALUES('$confirm_code', '$name', '$email', '$password', '$country')"; 
$result=mysql_query($sql); 

// if suceesfully inserted data into database, send confirmation link to email 
if($result){ 

// ---------------- SEND MAIL FORM ---------------- 

// send e-mail to ... 
$to=$email; 

// Your subject 
$subject="Your confirmation link here"; 

// From 
$header="from: your name <your email>"; 

// Your message 
$message="Your Comfirmation link \r\n"; 
$message.="Click on this link to activate your account \r\n"; 
$message.="http://www.yourweb.com/confirmation.php?passkey=$confirm_code"; 

// send email 
$sentmail = mail($to,$subject,$message,$header); 

} 

// if not found 
else { 
echo "Not found your email in our database"; 
} 

// if your email succesfully sent 
if($sentmail){ 
echo "Your Confirmation link Has Been Sent To Your Email Address."; 
} 
else { 
echo "Cannot send Confirmation link to your e-mail address"; 
} 

?>php 
+0

的錯誤是在config.php文件,所以它會比較ü有條理地查看來自該文件的代碼。有可能你只是用不正確的參數調用mysql_connect函數。 – 2010-10-28 15:15:30

+0

你應該清理用戶輸入:http://stackoverflow.com/questions/129677/whats-the-best-method-for-sanitizing-user-input-with-php – 2010-10-28 15:16:53

+0

@laurencek這將產生一個不同的錯誤信息。問題在於該函數根本沒有定義,並不是有一個參數錯配。 – meagar 2010-10-28 15:17:45

回答

4

你的PHP安裝,無需MySQL支持編譯的。閱讀instructions以編譯PHP與MySQL,或聯繫您的服務器管理員,並找出爲什麼它不可用。

如果您使用的是像WAMP或XAMPP這樣的預先構建的軟件包,請使用適當的標記更新您的問題以獲得更具體的幫助。

1

您需要安裝MySQL和PHP MySQL模塊。

0

檢查這個網站

http://www.somacon.com/p109.php

基本上如果IM假設一切都在配置文件中有好一直有些錯誤配置因此MySQL不能正常工作

+0

可以請你幫我用命令... – abhi 2010-10-28 15:27:15

+0

如果你按照指導一步一步你應該很好 ps。什麼操作系統在你的設置上運行? – Breezer 2010-10-28 15:34:10

+0

我已經重新編譯了php安裝...但是現在我得到了下面的錯誤... – abhi 2010-10-28 15:42:26

2

凝視你的php.ini並搜索對於該行:

extension=php_mysql_libmysql.dll 

如果您有一個;站在字面前擴展在非常一行:

;extension=php_mysql_libmysql.dll 

刪除;和重啓apache/IIS。那麼它應該工作。

如果;不是在該行的foront或該行不存在,然後尋找到PHP /分機/文件夾,如果存在這兩個文件:

php_mysql.dll 
php_mysql_libmysql.dll 

如果不存在則只是把它們此行到尤爾php.ini並重新啓動Apache/IIS:

extension=php_mysql_libmysql.dll 

否則,你就必須重新編譯PHP像我的前輩建議

相關問題