- 修复 -
我解决了我遇到的问题。我不是100%确定它是如何修复的,但我认为这是因为我将连接端口更改为3306然后使用localhost而不是我的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 Connected。查询不返回任何内容(它就像一个空字符串)。当我尝试回显$ connection时,它也是如此。我认为这是一个连接问题,因为它是空的,但你们都知道最好(我是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();
它似乎有效,除了当它有1时打印'0结果'。
答案 0 :(得分:0)
对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli :: query(或mysqli_query())将返回一个mysqli_result对象(参见本文mysqli.query)。 所以在你的情况下,你不能回应这个,你可以看到这样的行数据:
$mysqli = new mysqli("104.236.***.57", "Josh", "********", "******");
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM users", MYSQLI_USE_RESULT)) {
/* prints number of result rows */
printf("Select returned %d rows.\n", $result->num_rows);
/* Cycle through results */
echo "Table data:\n";
while ($row = $result->fetch_object()){
var_dump($row);
}
/* free result set */
$result->close();
}
/* close connection */
$mysqli->close();
另外,检查可用于远程访问的数据库服务器(104.236。***。57)。如果您可以从外部访问数据库服务器,请咨询您的托管公司。
答案 1 :(得分:0)
<?php
$servername = "localhost"; //replace your servername
$username = "root"; //replace your username
$password = ""; //replace your password
$dbname = "test"; //replace your database name
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
//Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
echo ' not connected';
}
else
echo 'connected';
?>
执行此操作并告诉我输出。
答案 2 :(得分:0)
请检查一下Mysql是否正在运行。它通常发生在你的液滴耗尽内存时。在这种情况下,您可以将交换文件添加到Droplet。
答案 3 :(得分:0)
$sql = "SELECT * FROM users";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result))
{
echo "id: " . $row["id"];
}
尝试使用此代码而不是代码。
答案 4 :(得分:-1)
//只需填写您自己的设置......
$server = "localhost";
$user = "root";
$password = "*****";
$database = "uyelik";
$db= mysqli_connect($server ,$user, $password);
if(!$db) { echo 'Mysqli conn. error: ' . mysqli_connect_errno(); exit;}
mysqli_select_db($db,$database);
$query = mysqli_query($db,"SELECT * FROM lists") or die (mysql_error());