Php 将MySQL从本地主机移动到远程服务器
我刚刚完成了一个在我的本地服务器(xampp)上运行良好的网站的编写。 以下是本地服务器的连接数据库定义: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
<?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_合伙企业’;