重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
对于PHP连接远程MySql数据库,通常要使用如下的语句:
为延寿等地区用户提供了全套网页设计制作服务,及延寿网站建设行业解决方案。主营业务为成都做网站、成都网站制作、延寿网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
var
$serverName
=
'db4free.net:3306';//数据库服务器
var
$dbName
=
'dbname';//数据库名
var
$dbUsername
=
'username';//用户名
var
$dbPassword
=
'123';//登陆密码
mysql_connect($serverName,$dbUsername
,$dbPassword);
mysql_select_db($dbName);
如果mysql服务器是你的而你的网站不在服务器里你可以把拥有这数据库权限的用户设置远程权限,
在mysql命令如下:grant all no *.* to 用户名@"远程的IP地址" identified by "数据库密码" with grant option;
决方法:
1。
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql"
数据库里的
"user"
表里的
"host"
项,从"localhost"改称"%"
mysql
-u
root
-pvmwaremysqluse
mysql;mysqlupdate
user
set
host
=
'%'
where
user
=
'root';mysqlselect
host,
user
from
user;
2.
授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
这个在你的项目里面配置一下就好了。比如我使用thinkphp框架,在配置文件里面有这么一行: 'DB_HOST'= 'localhost', 这里配置的就是要访问的数据库服务器,我本地使用就用localhost,如果你是在服务器上的,就写你服务器的网址或者是IP就好了。任何一个php框架或者不用框架都有这么一个设置的
可以使用pdo进行连接
$dbms='mysql'; //数据库类型
$host='localhost'; //数据库主机名
$dbName='test'; //使用的数据库
$user='root'; //数据库连接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
try {
$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
echo "连接成功br/";
/*你还可以进行一次搜索操作
foreach ($dbh-query('SELECT * from FOO') as $row) {
print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
}
*/
$dbh = null;
} catch (PDOException $e) {
die ("Error!: " . $e-getMessage() . "br/");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT = true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT = true));
和ASP+ACCESS不一样,其实你的PHP一直都是在操作远程数据库:
你的mysql_connect连接MYSQL数据库的时候,即使是本地数据库,程序也完全是和远程一样的操作:使用TCP连接你指定的服务器端口,127.0.0.1和data.baidu.com这样的主机,程序是完全相同的。