Php 将MySQL从本地主机移动到远程服务器

Php 将MySQL从本地主机移动到远程服务器,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我刚刚完成了一个在我的本地服务器(xampp)上运行良好的网站的编写。 以下是本地服务器的连接数据库定义: <?php $host="localhost"; $username="root"; $password="1234"; $db_name="partnership"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db

我刚刚完成了一个在我的本地服务器(xampp)上运行良好的网站的编写。 以下是本地服务器的连接数据库定义:

<?php
  $host="localhost";
  $username="root";
  $password="1234";
  $db_name="partnership";

  mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
  mysql_select_db("$db_name")or die("cannot select DB");
?>

我已成功加载文件并将其放在远程服务器(www.mydomain.com)上,并创建了相关数据库“合作关系”(已成功将所有表从phpMySQL本地服务器导入远程服务器)

我可以查看网站(www.mydomain.com),但没有数据库连接(MySQL)。 错误消息当然是“无法连接”

我已将
$host=“localhost”
更改为
$host=“www.mydomain.com”
,但仍然收到相同的错误消息


如果您试图通过应用程序进行连接,是否仍应将
localhost
用作
$host
?脚本与数据库在同一台服务器上。

啊,这总是过程中最烦人的部分。试试这个,看看它是否有效:

$host="127.0.0.1";  // "localhost" should work, but don't count on it
$username="user"; // username you use to log into phpMyAdmin
$password="password"; // password you use to log into phpMyAdmin
$db_name="dbname"; // database you want to connect to

您需要创建此用户/密码对,并授予他们访问数据库的相应权限。还请注意,mysql PHP函数已弃用,不应使用。PDO或mysqli是今后的首选。如果您使用的是cPanel,那么在创建MySQL表时,请确保将用户分配给它(我知道这很琐碎,但我自己也忘了几次)

如果您的脚本是从远程服务器运行的,只需使用localhost即可。会很好的

最后,我唯一的建议是,尝试使用

$host = 'localhost';
$user = 'username'; // Im pretty sure your username isn't root.
$pass = '1234';
$db = 'partnership'; 
/* Alot of hosts like to append your cPanel login to your db and username fields.
Check to see what your table is. It might actually be 'youruser_partnership'  */

$mysqli = new mysqli($host, $user , $pass, $db);
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}

如果您的主机支持mysqli(大多数都支持)。如果没有,在执行die语句时,仍然使用
die(mysql_error())
以获取准确的错误。它很可能是您创建并分配给数据库的用户名/密码

您使用的是托管提供商,还是这是您控制的服务器?创建的数据库,但用户和权限如何?我有一个web主机服务公司的托管帐户。请从类似问题中查看。我发现第四个选项通常与Windows相关。请检查您的帐户控制面板,确保您知道应该使用什么主机名。例如,它可以是您的域,或者mysql(您的域),或者完全其他的东西。这是我不确定的。i、 e.如何定义$host(主机名)。@用户尝试将其定义为
'127.0.0.1'
<代码>'localhost'由于某些原因并不总是有效。@user1315169:如果您使用的是PHPMyAdmin,它会告诉您。否则,只需查看主机的管理面板,它就会告诉您数据库的主机位置。我的本地服务器上的phpMyAdmin始终要求登录(用户名和密码)。在我的远程服务器上,我可以在没有“欢迎使用phpMyAdmin”屏幕的情况下访问数据库。(虽然我已经创建了用户名和密码,但没有登录过程来输入数据库)。它与上面描述的连接问题有什么关系吗?谢谢大家回复我,也谢谢上面的评论解决了这个问题(“很多主机喜欢将您的cPanel登录附加到您的db和username字段。”)。这些是现在成功连接到DB的更改:$user='mydomai_username'$db=‘mydomai_合伙企业’;