- 固定 -无法连接到PHP中的MySQLi?
我修正了我遇到的问题。我不是100%确定它是如何修复的,但我认为这是因为我将连接端口更改为3306,然后使用本地主机而不是我的IP连接。谢谢大家花时间帮忙,你们都非常乐于助人。
我有一个真的令人沮丧的问题,我一直在尝试解决(字面意思)过去4个小时。我无法通过我的php代码连接到MySQLi。我检查了用户名,密码,数据库和主机是否正确。这里是我的代码:
$mysqli = new mysqli("104.236.***.57", "Josh", "********", "******");
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
所有这一切是回声连接。查询不返回任何东西(它就像一个空字符串)。当我尝试echo $连接时,它也是如此。我认为这是连接问题,因为它是空的,但你们最清楚(我是MySQL的新手)。我已经研究并尝试了4个多小时,并没有任何工作。
太感谢你了,
乔希
编辑:我已经更新的代码。现在它返回错误:连接被拒绝(mysql错误)。
我想我已经解决了连接问题,但是我遇到了一个我认为可能与另一个问题有关的新问题。我有这样的代码在这里:
$servername = "104.***.***.57";
$username = "Josh";
$password = "*******";
$dbname = "*****";
$conn = new mysqli($servername, $username, $password, $dbname, '/var/run/mysqld/mysqld.sock');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"];
}
} else {
echo "0 results";
}
$conn->close();
而且似乎工作,除了它打印“0结果”时,有1
'$ query'是一个结果对象(或者也可能检查执行中的错误),您需要获取。 – chris85
对不起,但你是什么意思? @ chris85 – Josh
请参阅http://php.net/manual/en/mysqli-stmt.fetch.php和http://php.net/manual/en/mysqli.query.php关于后者的具体说明'在失败时返回FALSE 。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE.',所以你要么有'false','true'或'result object'。 – chris85