【问题标题】:PHP Connection Error, defining the connection correctly? [duplicate]PHP连接错误,正确定义连接? [复制]
【发布时间】:2016-07-17 21:54:35
【问题描述】:

所以我查看了其他线程的回复,但找不到我的错误。 这是我的 php 文件:

<?php

  define('con', 'con');  
  define('db_name','db_name');
  define('mysql_user','mysql_user');
  define('mysql_pass','mysql_pass');
  define('server_name','server_name');

  $db_name = "commentsdb";
  $mysql_user = "root";
  $mysql_pass = "root";
  $server_name = "localhost";
  $con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);

  if(!con)
  {
    echo "Connection Error...".mysqli_connect_error();
  }
  else {
    echo "<h3>Database connection Success...<h3>";
  }

?>

这是我的错误: (!)

警告:mysqli_connect(): 在 C:\wamp\www\webapp\init.php 第 11 行 调用堆栈 # 时间记忆功能位置 1 0.0006 134536 {main}( ) ..\init.php:0 2 0.0007 135112 mysqli_connect ( ) ..\init.php:11

我已经用尽了所有选项。谢谢!

【问题讨论】:

  • 通过这些凭据使用其他连接工具是否成功?还是您错过了数据库的端口?
  • 请问您为什么要定义连接细节,然后还要实例化变量?
  • 为什么要定义常量?

标签: php


【解决方案1】:

通过 OpenShift

rhc app 创建测试 php-5.4 mysql-5.5

1 <?php
  2     define('con', 'con');
  3     define('db_name','db_name');
  4     define('mysql_user','mysql_user');
  5     define('mysql_pass','mysql_pass');
  6     define('server_name','server_name');
  7
  8     $db_name = getenv('OPENSHIFT_MYSQL_DB_HOST');
  9     $mysql_user = getenv('OPENSHIFT_MYSQL_DB_USERNAME');
 10     $mysql_pass = getenv('OPENSHIFT_MYSQL_DB_PASSWORD');
 11     $server_name = getenv('OPENSHISHT_GEAR_NAME');
 12     $con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);
 13
 14     if(!con)
 15     {
 16       echo "Connection Error...".mysqli_connect_error();
 17     }
 18     else {
 19       echo "<h3>Database connection Success...<h3>";
 20     }
 21   ?>

数据库连接成功...

您的 MySQL 服务器或用户配置错误。

PaaS 这样的 Openshift 和许多其他使用正确配置的服务器,您不需要考虑配置服务器。简单的计划通常是免费的。

【讨论】:

    【解决方案2】:

    你的代码对我有用

    请检查变量的值是否正确($db_name | $mysql_pass)

    $db_name = "commentsdb";
    $mysql_user = "root";
    $mysql_pass = "root";          
    $server_name = "localhost";
    

    【讨论】:

      【解决方案3】:

      使用此代码:

      //Create Databases
      $servername = "localhost";
      $username = "Your Database";
      $password = "Your Password";
      $dbname = "Your Database";
      // Create connection
      $conn = new mysqli($servername, $username, $password, $dbname);
      // Check connection
      if ($conn->connect_error) {
          die("Connection failed: " . $conn->connect_error);
       } 
      
      $sql = "INSERT INTO...";
      
      /*Multiple query example:
      $sql = "INSERT INTO...";
      $sql .= "INSERT INTO...";
      $sql .= "INSERT INTO...";
      */
      
      //If you have multiple query use: multi_query()
          if ($conn->query($sql) === TRUE) {
                  echo "Succesfully Created!";
          } else {
              echo "<pre>Error in Database! Error: " . $conn->error . "</pre>";
          }
          $conn->close();
      

      希望对你有帮助!

      【讨论】:

        【解决方案4】:

        请使用任何 mysql 客户端对此进行测试。通过 mysql 工作台或 phpmyadmin 使用相同的凭据连接

        【讨论】:

          猜你喜欢
          • 2022-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-21
          • 2014-07-07
          • 1970-01-01
          • 2014-12-03
          • 1970-01-01
          相关资源
          最近更新 更多