2016-06-10 53 views
-1

我使用Mac上的甲基苯丙胺与localhost连接到数据库,我可以连接到服务器成功,但问题是我无法连接到数据库,我不知道在哪个查询我的一部分会犯错,因为它只是一个行query.i也在这里搜查堆栈溢出不同的解决方案,但他们不可能有帮助无法连接我的SQL

$username = 'root'; 
$password = 'root'; 
$host  = 'localhost'; 
$database = 'trendnow'; 
$link = mysqli_connect($host, $username, $password); 


if (!$link) { 
echo 'can not connect to the server'; 
} 
$db_selected = mysqli_select_db($database,$link); 
echo $db_selected; 
if (!$db_selected) { 


echo 'Can not connect to trend now '; 
} 
+5

使用'mysqli_connect($主机,$的用户名,密码$,$数据库)'。此外,你得到什么错误/输出? –

+0

这个查询用于连接数据库还是只连接到服务器? –

+0

多数民众赞成票Fepippe @FelippeDuarte – RiggsFolly

回答

1

Felippe杜阿尔特是正确的。你想要连接的数据库是什么?

mysqli_connect("localhost","my_user","my_password","my_db"); 
  • 本地主机手段连接到该程序上运行的服务器。有时候人们会连接到位于非本地服务器上的数据库,所以有时候这会成为IP地址。
  • MY_DB是数据库的名称。所以如果你的数据库被称为WebStore,你可能在数据库上有一个名为计算机的表。该网上商店将是数据库的名称,并且必须驻留在最后一节中,像这样:mysqli_connect("localhost","my_user","my_password","WebStore");

这里是一个教程,可以帮助。 http://www.w3schools.com/php/func_mysqli_connect.asp


得到一个有用的错误消息

与独立的连接,如果有一个错误,它不会告诉你它是什么的问题。谢天谢地,有几种方法可以找出错误是什么。

<?php  
$con = mysqli_connect("localhost","my_user","my_password","my_db"); 

//This will check if we were able to start up a connection using the above line 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

// This is an example query. We will check if it failed, and if so, why it failed 
// Perform a query, check for error 
if (!mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')")) 
{ 
    echo("Error description: " . mysqli_error($con)); 
} 

?> 

http://www.w3schools.com/php/func_mysqli_error.asp

+0

我用这个查询,但没有发生,页面保持空白 –

+0

其甚至不显示任何错误 –

+0

我应该使用我的IP地址而不是本地主机? –

1

mysqli_connect需要4个参数。你在混合mysqlmysqli。也总是尝试调试您的连接或查询,如果它不起作用。库MySQLi具有该功能,所以要检查连接使用本

$link = mysqli_connect($host, $username, $password,$database) or print_r(mysqli_connect_error()); 

,并检查查询中使用此

$result = mysqli_query($link,"your query") or print_r(mysqli_error($link)); 
+0

这不完全正确。您可以将四个参数传递给connect函数,但是您也可以像OP一样执行操作,并使用三个参数分别选择一个数据库 - 但OPs代码中的参数顺序错误。 – Qirel

0

添加

error_reporting(-1); 

看到代码的第1行的错误。

0

你要离开的密码为空,如果你将使用root作为用户名