我试图建立一个与mysql-5.1的连接,但它显示错误,如“无法连接”或当我更改主机名“无法连接:没有这样的文件或目录”。
我的文件是这样的
<?php
$link = mysql_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>已尝试将mysql_connect更改为mysqli_connect。没什么区别。
1) Mysql正在运行(根据接口)。
2)尝试了各种rhc命令来重新启动应用程序,重新启动|重新加载墨盒等-执行此操作时没有错误。“例如eg.Mysql 5.1 restart...done”。
3)尝试对$OPENSHIFT_MYSQL_DB_HOST执行pinging操作,但成功了。
4)尝试远程登录$OPENSHIFT_MYSQL_DB_HOST,结果显示连接已建立,并显示一些乱码。
5) ps aux | grep " mysql“4213 21721 0.0 0.0 103252 828pt/0 S+ 10:56 0:00 grep mysql
6)mysql>状态
/usr/bin/MySQLV14.14Distrib 5.1.73,适用于使用readline 5.1的redhat-linux-gnu (x86_64)
连接id: 4当前数据库:当前用户:xxxxxxxxxxxxx@xx.xx SSL:未使用当前分页程序: stdout Using outfile:'‘Using delimiter:;服务器版本: 5.1.73源分发协议版本: 10连接:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.rhcloud.com通过TCP/IP服务器字符集: latin1 Db字符集: latin1客户端字符集: latin1 Conn。特征集: latin1 TCP端口: 50986正常运行时间:18分40秒
线程数:1个问题:4个慢查询数:0个打开数: 17个刷新表数:1个打开的表数:每秒4个查询数平均为0.3
我将代码更改为
<?php
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname');
/*
* This is the "official" OO way to do it,
* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
*/
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
/*
* Use this instead of $connect_error if you need to ensure
* compatibility with PHP versions prior to 5.2.9 and 5.3.0.
*/
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
?>同样的错误。
有人能帮帮我吗?甚至phpmyadmin代码都说“无法连接到mysql”。
感谢Ganesh Kumar
发布于 2014-04-13 21:21:00
您是否尝试过以下操作:
<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database */
define('DB_NAME', $_ENV['OPENSHIFT_APP_NAME']);
/** MySQL database username */
define('DB_USER', $_ENV['OPENSHIFT_MYSQL_DB_USERNAME']);
/** MySQL database password */
define('DB_PASSWORD', $_ENV['OPENSHIFT_MYSQL_DB_PASSWORD']);
/** MySQL hostname */
define('DB_HOST', $_ENV['OPENSHIFT_MYSQL_DB_HOST'] . ':' . $_ENV['OPENSHIFT_MYSQL_DB_PORT']);
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>发布于 2016-05-24 09:19:48
我也有同样的问题,可以通过下面的代码来解决。
define('DB_HOST', getenv('OPENSHIFT_MYSQL_DB_HOST'));
define('DB_PORT', getenv('OPENSHIFT_MYSQL_DB_PORT'));
define('DB_USER', getenv('OPENSHIFT_MYSQL_DB_USERNAME'));
define('DB_PASS', getenv('OPENSHIFT_MYSQL_DB_PASSWORD'));
define('DB_NAME', getenv('OPENSHIFT_GEAR_NAME'));
$dbhost = constant("DB_HOST"); // Host name
$dbport = constant("DB_PORT"); // Host port
$dbusername = constant("DB_USER"); // Mysql username
$dbpassword = constant("DB_PASS"); // Mysql password
$db_name = constant("DB_NAME"); // Database name https://stackoverflow.com/questions/23016297
复制相似问题