我获得了直接从我的托管服务提供商(1and1)连接到MySQL的凭据.但是,当我尝试连接以下代码时:
$db_hostname = 'localhost/tmp/mysql5.sock';
$db_database = 'db543062602';
$db_username = '***********';
$db_password = '***********';
$dbc = mysqli_connect($db_hostname, $db_username, $db_password, $db_database)
or die('Error connecting to MySQL server');
?>
Run Code Online (Sandbox Code Playgroud)
错误:
警告:mysqli_connect():( HY000/2005):未知的MySQL服务器主机'localhost/tmp/mysql5.sock'(1)在/ homepages/... ... .../buge.php第10行连接错误到MySQL服务器
凭证都是一样的.实际上,它在使用mysql_connect()连接时有效,但它不想使用mysql_connect()!有什么可能导致问题的想法?
Bil*_*win 10
要么误解了1和1中的指令,要么他们犯了错误.
阅读mysqli_connect()的手册页.它显示第一个参数应该是主机名,可以是名称或IP.不要在该参数中包含套接字.
您可以选择将套接字文件指定为第六个参数.
/* WRONG */
mysqli_connect('localhost/tmp/mysql5.sock', ... );
/* WRONG */
mysqli_connect('localhost:/tmp/mysql5.sock', ... );
/* RIGHT */
mysqli_connect('localhost', $db_username, $db_password, $db_database, null, '/tmp/mysql5.sock');
Run Code Online (Sandbox Code Playgroud)
另外,我想知道为什么他们甚至要求你指定套接字.他们应该在主机的php.ini文件中定义一个默认值,所以你不必这样做.除非他们在同一台主机上运行多个mysqld实例.
| 归档时间: |
|
| 查看次数: |
6169 次 |
| 最近记录: |