连接到托管服务器上的数据库时出错

编程入门 行业动态 更新时间:2024-10-28 19:34:04
本文介绍了连接到托管服务器上的数据库时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

警告:mysql_connect():(HY000/2002):连接被拒绝 /home/vol14_1/byethost31/b31_16461744/htdocs/Mysql/con.php在线 7

Warning: mysql_connect(): (HY000/2002): Connection refused in /home/vol14_1/byethost31/b31_16461744/htdocs/Mysql/con.php on line 7

警告:mysql_select_db():中没有这样的文件或目录 /home/vol14_1/byethost31/b31_16461744/htdocs/Mysql/con.php在线 8

Warning: mysql_select_db(): No such file or directory in /home/vol14_1/byethost31/b31_16461744/htdocs/Mysql/con.php on line 8

警告:mysql_select_db():无法链接到服务器 建立在 /home/vol14_1/byethost31/b31_16461744/htdocs/Mysql/con.php在线 8

Warning: mysql_select_db(): A link to the server could not be established in /home/vol14_1/byethost31/b31_16461744/htdocs/Mysql/con.php on line 8

我有以下代码

<?php $localhost="localhost"; $username=b31_16461744; $pass=test123; $dbname=b31_16461744_user; $a= mysqli_connect($localhost,$user,$pass); mysql_select_db($dbname); if($a) { echo "connected.."; } else { echo "not...!!"; } ?>

推荐答案

侧注:假设凭据是正确的,由您的虚拟主机提供.

Sidenote: Assuming the credentials are correct, given to you by your web host.

此代码存在一些问题(摘自您的评论).

There are several problems with this code (taken from a comment you left).

首先,您的三个声明未加引号,而是被视为常量.

Firstly, three of your declarations are not quoted and are being treated as constants.

PHP错误报告会抛出未定义常量的通知.

PHP error reporting would have thrown notices of undefined constants.

这些被视为常量:

$username=b31_16461744; $pass=test123; $dbname=b31_16461744_user;

您还为用户名$user引用了错误的变量,该用户名应为$username.错误报告会签署未定义的变量通知.

You are also referencing the wrong variable for the username being $user which should be $username. Error reporting would have signabled an undefined variable notice.

然后您将mysql_与mysqli_语法混合.那些不同的MySQL API不会相互混合.您必须在整个代码中使用同一代码.

Then you're mixing mysql_ with mysqli_ syntax. Those different MySQL APIs do NOT intermix. You must use the same one throughout your code.

旁注:您发布的另一个问题用户'test123'@'192.168.0.38'的访问被拒绝(使用密码:NO)您正在使用sql306.byethost31作为主机.确保这是正确的.我不知道主机要您使用什么设置.

Sidenote: The other question you posted Access denied for user 'test123'@'192.168.0.38' (using password: NO) you are using sql306.byethost31 for the host. Make sure that is correct. I have no idea what settings that host wants you to use.

<?php $localhost="localhost"; $username="b31_16461744"; $pass="test123"; $dbname="b31_16461744_user"; $a= mysqli_connect($localhost, $username, $pass); mysqli_select_db($a, $dbname); if($a) { echo "connected.."; } else { echo "not...!!"; } ?>

或仅使用所有四个参数:

or just use all four parameters:

<?php $localhost="localhost"; $username="b31_16461744"; $pass="test123"; $dbname="b31_16461744_user"; $a= mysqli_connect($localhost, $username, $pass, $dbname); if($a) { echo "connected.."; } else { echo "not...!!" . mysqli_error($a); } ?>

但是,带有回显的else不能帮助您.使用mysqli_error()获取实际错误.

However, your else with the echo does not help you. Use mysqli_error() to get the real error.

即:or die("Error " . mysqli_error($a));

手册中的示例

$link = mysqli_connect("myhost","myuser","mypassw","mydb") or die("Error " . mysqli_error($link));

参考:

  • php/manual/en/function.error -reporting.php
  • php/manual/en/mysqli.error.php
  • php/manual/en/function.mysqli -connect.php
  • php/manual/en/language.constants.php
  • php/manual/en/function.error-reporting.php
  • php/manual/en/mysqli.error.php
  • php/manual/en/function.mysqli-connect.php
  • php/manual/en/language.constants.php

向其中添加 错误报告 文件顶部,这将有助于查找错误.

Add error reporting to the top of your file(s) which will help find errors.

<?php error_reporting(E_ALL); ini_set('display_errors', 1); // rest of your code

边注:显示错误只能在舞台上进行,绝不能制作

Sidenote: Displaying errors should only be done in staging, and never production

更多推荐

连接到托管服务器上的数据库时出错

本文发布于:2023-10-29 03:15:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1538556.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:连接到   器上   数据库   托管服务

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!