使用PHP将网页连接到数据库会产生奇怪的结果

时间:2014-05-15 11:01:09

标签: php mysql mysql-connect

我在家里设置了一个Raspberry Pi Web服务器,我设置了phpMyAdmin来管理数据库。

我创建了一个数据库来保存一些信息,这些信息将用于在Google地图上放置标记(多个用户将为角色扮演事件添加不同类型的标记)。

我的问题是我似乎无法连接到数据库。虽然我尝试过来自许多不同来源的示例代码但我得到了奇怪的结果。 E.g。

使用此代码:

<?php
// Create connection
$con=mysqli_connect("example.com","peter","abc123","my_db");

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

if($con)
{
echo "Connection OK";
}
if(!$con)
{
echo "No Connection";
}
?>

我在网页上打印出以下内容:

Connection OK
"; } if(!$con) { echo "
No Connection
"; } ?>

本地主机我已尝试过#host; localhost&#34;,一个指向服务器的域名,两者的组合,等等。事实是我觉得我不明白屏幕上显示的打印结果,感觉可能是我已经能够连接,但我被回声陈述误导,这似乎不符合逻辑。

我的印象是phpMyAdmin也能够生成连接代码,但我似乎无法找到任何类型的东西。

4 个答案:

答案 0 :(得分:1)

试试这个,替换这个

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

用这个

if (mysqli_connect_errno()) {       
    printf("Connect failed: %s\n", mysqli_connect_error());         
    exit();     
}

答案 1 :(得分:1)

这是一个奇怪的打印输出。尝试使用

if ($con->connect_error) {
   echo "Failed to connect to MySQL: " . $con->connect_error;
}

或其他方式

if (!$con) {
    die('Failed to connect to MySQL: ' . mysqli_connect_error());
}

答案 2 :(得分:1)

请检查这是否正常

$conn = mysqli_connect("localhost", "root", "password", "dbname");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

而不是$con->connect_error使用mysqli_connect_errno()

答案 3 :(得分:0)

用于连接数据库的@mysql_connect代码存放在一个html文件中,而Apache没有配置为将html文件作为php文件运行。我现在只能使用.php格式文件连接到DB。最终的工作代码是:

$conn = mysqli_connect("localhost", "root", "password", "dbname");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

它作为databaseConnection.php保存在Web服务器中。

此时,添加正确的参数会导致连接成功,并且添加不正确的参数会导致显示错误消息。