1

我在 PHP 中创建了一个页面

数据库是在线连接的,所以当我在本地运行站点时 / 但是在线连接的 sql 数据库一切正常。但是一旦我运行在线页面,并尝试对它说的数据库做任何事情

该网站在检索时遇到错误http://www.....它可能因维护而关闭或配置不正确。

所以我知道出了点问题,但我似乎不明白为什么我可以在本地驱动页面时将内容上传到我的 SQL 数据库。

关于我应该考虑什么的任何提示?

我将添加我的 upload.php 文件

问题是即使我删除了我的 include('/core/inc/init.inc.php'); 文件。它仍然得到同样的错误。所以它一定与我的查询有关?

这是我的代码。

 <?php  
 // Connects to your Database 
include('/core/inc/init.inc.php');

 if($_FILES['file_name'])) {
 $file_name = mysql_real_escape_string($_FILES['file_name']['name']); 
  //Writes the information to the database 



 mysql_query("INSERT INTO `files` (`file_name`) VALUES ('$file_name')") ; 

move_uploaded_file($_FILES['file_name']['tmp_name'], "core/files/{$_FILES['file_name']['name']}");




  }
  // sid antal
  $page = ($_GET['page'])) ? (int)$_GET['page'] : 1;

 //Retrieves data from MySQL 
 $data = mysql_query("SELECT * FROM files") or die(mysql_error()); 
 //Puts it into an array 

 $files = mysql_query("SELECT * FROM files") or die(mysql_error()); 



  /*pagination */ 
    $per_page = 5;
    $pages_query = mysql_query("SELECT COUNT('user_id') FROM files");
    $pages = ceil(mysql_result($pages_query, 0) /$per_page);

    $page = ($_GET['page'])) ? (int)$_GET['page'] : 1;
    $start = ($page - 1) * $per_page;
  /*pagination */ 



 ?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Pixeltouch</title> 

<link rel="stylesheet" type="text/css" href="ext/style.css" />

</head> 
<body> 
<div id="page-wrap"> 
<div id="main-content"> 
<br/>
<?php include_once('template/head.inc.php');
?>
<div id="menu"> 

<?php include_once('template/nav.inc.php');
?> 

</div> 
<!-- SKRIVBOX-->

    <div>
 <form enctype="multipart/form-data" action="" method="post"> 
    <p>
<input type="file" name="file_name" /><br/> 
    </p>    
    <p>
 <input type="submit" value="Add" /> 
    </p>
</form>
<!-- <a href="file_list.php">Listan</a> -->
</div>


<!--Pagination-->

    <?php  
 $data = mysql_query("SELECT * FROM files LIMIT $start, $per_page")
 or die(mysql_error()); 
 echo "<table border cellpadding=1>"; 
 while($info = mysql_fetch_array( $data )) 
    { ?><?php
        echo "<tr>"; 
    //  echo "<td>".$info['user_id'] . "</td> "; 
        echo "<td>".$info['user_name'] . "</td> ";
        echo "<td>".$info['file_name'] . "</td> ";
        ?>
        <td> <a href="download.php?user_id=<?php echo $_SESSION ['uid']; ?>"> <?php echo $info['file_name']; ?></a></td>
        <?php
        echo "<td>".date('d/m/Y') . "</td>" ;


    }
        echo "</tr>";
        echo "</table>"; 


 if($pages >= 1 && $page <=$pages){

 for ($x = 1; $x<=$pages; $x++){ 

 echo ($x == $page) ? '<strong><a href="?page='.$x.'">' .$x. '</a> </strong>' : '<a href="?page=' .$x. '">' .$x. ' </a> ';

 }

 }

 ?> 
 <!--Pagination-->





<!--PAGINATION-->


<!-- SKRIVBOX END-->
</div> 

<?php include_once('template/foot.inc.php');
?>
</div>
</body>
</html>

初始化.inc.php 文件

 <?php
 session_start();

 mysql_connect("server", "username", "password") or die(mysql_error()) ; 
 mysql_select_db("pixeltouch2") or die(mysql_error()) ;

 $path = dirname(__FILE__);
 include("{$path}/user.inc.php");

 ?>


                                    <!--Registration/Login (START)-->
 <?php 


 $exceptions = array('register', 'login', 'user_list', 'profile', 'edit_profile');

 $page = substr(end(explode('/', $_SERVER['SCRIPT_NAME'])), 0, -4);

 if(in_array($page, $exceptions) == false){
    if (isset($_SESSION['username']) == false){
    header('Location: login.php');
    die();
    }
  }
 ?>

                                    <!--Registration/Login (END)--> 


                                        <!--User Profile (START)-->
 <?php
 $_SESSION['uid'] = 1;


 ?>

                                        <!--User Profile (END)-->
4

2 回答 2

0

确保你有这样的东西:

mysql_connect($server, $username, $password)

在你的/core/inc/init.inc.php.

于 2012-05-22T21:23:12.757 回答
0

这就是我得到的错误消息 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) – Felipe Otarola 1 小时前

Felipe 尝试启动/重启你的 mysql 服务器:

sudo service mysql start // ubuntu
sudo service mysqld start // centos

编辑 1

尝试这个:

if ($_SERVER['HTTP_HOST'] != 'localhost') // running in remote server
    $server = 'localhost';  
else // running locally
    $server = 'your-online-database-server-address';

mysql_connect($server, "username", "password") or die(mysql_error());
于 2012-05-22T21:51:57.113 回答