2012-11-02 73 views
1

我使用php创建联系人表单。当我填满所有内容并按提交时,不要发送任何消息到特定的电子邮件地址。它显示了几个错误信息。无法通过套接字连接到本地MySQL服务器问题

错误消息:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect 
to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.91 
/maaks/www/hotel/eng/resellers.php on line 93 

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the 
server could not be established in /homez.91/maaks/www/hotel/eng/resellers.php on line 
93 

etc..... 

PHP代码:

<?php 
     if(isset($_POST['Send']) && $_POST['Send'] == "Submit") 
     { 
      $fname = mysql_real_escape_string($_POST['fname']); 
      $email = mysql_real_escape_string($_POST['email']); 
      $conum = mysql_real_escape_string($_POST['conum']); 
      $country = mysql_real_escape_string($_POST['country']); 
      $find = mysql_real_escape_string($_POST['find']); 
      $msg = mysql_real_escape_string($_POST['msg']); 

      $err = array(); 


if(isset($fname) & isset($email) & isset($conum) & isset($country) & isset($find) & 
isset($msg)) 
      { 

if(empty($fname) & empty($email) & empty($conum) & empty($country) & empty($find) & 
empty($msg)) 
       { 
        $err[] = "All field require"; 
       } 
       else 
       { 
        if(empty($fname)) 
        $err[] = "Your first name require"; 
       } 

      } 
      else 
      { 
      if(!empty($err)) 
       { 
        foreach($err as $er) 
        { 
           echo "<font color=red>$er</font><br/>"; 
        } 
       } 
      else 
      { 
       $to = "[email protected]"; 
       $subject = "Message from Customer"; 
         $message = "$msg";            
         $from = "$email"; 
         $headers = "From:" . $from; 
         mail($to,$subject,$message,$headers); 

       if(mail()) 
        { 

        echo "<script>"; 
          header("Refresh: 0; url=Thankyou.html"); 
        echo "</script>"; 
        } 
        else 
        { 
         echo "Something is wrong" . mysql_error(); 
        } 
       } 
      } 

     }   

?> 

什么是我的代码错了吗?

+0

你有没有安装mysql? – jarchuleta

+0

是的,我在我的服务器Phpmyadmin – Babu

+1

你试过mysql_connect()? – jarchuleta

回答

1

您必须先连接到您的mysql数据库,然后才能使用mysql_real_escape_string函数。此外,mysql_ *在PHP中已弃用,您应该使用mysqli或pdo来完成数据库工作。

此外,mysql_real_escape_string旨在保护mysql数据库免受注入尝试,但你只是发送电子邮件。

+0

我可以在不连接数据库的情况下使用mysqli吗? – Babu

+1

@Babu - 我不明白你的问题。 mysql和mysqli是用于数据库的东西。它不会做任何事情,但需要连接的数据库的东西。我不明白你为什么要使用mysql函数,如果你只是在发送电子邮件。 – Erik

+0

恩,@Erik你没错。 – Babu

相关问题