2014-07-03 66 views
-2

好吧,这似乎很愚蠢,我觉得愚蠢的问,但我一直在搜寻一段时间,我不知道什么答案是在说什么;不能连接到远程mysql数据库由php

我试图通过PHP连接到我的远程直播的MySQL数据库,这里是我的代码

<?php 
// Connecting to the db 
$con = mysqli_connect("166.**.*.**","username","password","MyDb"); 

// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

echo "Con successful"; 

// Reach the table "demo" 
$result = mysql_query("SELECT * FROM demo"); 

while($row = mysql_fetch_array($result)) 
{ 
    echo $row['Title']." ".$row['Description']." ".$row['Link']; 
} 

// Close connection 
mysqli_close($con); 
?> 

而这里的结果:

精读成功的警告:请求mysql_query()[function.mysql - 查询]:不能 连接到本地MySQL服务器通过套接字 '/var/lib/mysql/mysql.sock'(2)在 /home/content/83/11483383/html/Perceptive mind new/php /page-builder/portfolio.php在线13

警告:请求mysql_query()[function.mysql查询]:一个链接 不能在/ home /内容服务器建立/一千一百四十八万三千三百八十三分之八十三/ HTML /感知 脑海新/ PHP /页建设者/ portfolio.php在线13

警告:mysql_fetch_array()预计参数1是资源, 在/ home /含量给出/布尔11483383分之83/ HTML /感知心灵 新/ PHP /页建设者/组合。 php on line 15

+5

** Ahem **,你在混合使用MySQL API,他们不会**混合。朗姆酒和可乐做的,但不是这样。 –

+0

你把'mysql_ *'混淆了,你不应该再使用它了,因为它已经被弃用了,而且仍然保留着'mysqli'。将所有内容转换为'mysqli'。 – TiMESPLiNTER

回答

3

通过打开与mysqli_库到远程数据库的连接开始了。

然后尝试使用已弃用的mysql_库进行查询。

该功能的文件说:

如果没有指定链接标识,由mysql_connect()打开的最后一个环节假设。如果没有找到这样的链接,它会尝试创建一个,就好像调用mysql_connect()时没有参数一样。如果未找到或建立连接,则会生成E_WARNING级别错误。

这两个库不兼容。由于您尚未使用mysql_打开连接,因此它会尝试打开一个(默认通过套接字使用本地主机)并失败。

要保持您使用的库的一致性。始终坚持mysqli_