у меня возникли проблемы с отображением информации из моей базы данных в онлайн-облаке IDE 9. Я следовал некоторым инструкциям по подключению к базам данных и получению информации, но, похоже, он не входит в цикл while, который фактически отображает информацию в браузере.
PHP
$host = getenv("REMOTE_ADDR");
$username = "tannerhallman1";
$password = "";
$database = "Charlotte";
$dbport = 3306;
// Create connection
$db = mysqli_connect($host, $username, $password, $database, $dbport);
// Check connection
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
echo "Connected successfully my dude(".$db->host_info.")";
?>
<?php
$sql = "SELECT * FROM lenders";
$records = mysql_query($sql);
echo "$records"
?>
<html>
<head>
<title>Local Lenders</title>
</head>
<body>
<table width = "600" border = "1" cellpadding="1" cellspacing = "1">
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Company</th>
<tr>
<?php
while ($lender = mysql_fetch_assoc($records)) {
echo "<tr>";
echo "<td>".$lender['ID']."</td";
echo "<td>".$lender['First']."</td>";
echo "<td>".$lender['Last']."</td>";
echo "<td>".$lender['Company']."</td>";
echo "</tr>";
} //end while
?>
</table>
</body>
</html>
Консоль сервера
==> /home/ubuntu/lib/apache2/log/error.log <==
[Mon Mar 23 13:59:17.146489 2015] [:error] [pid 26008] [client 10.240.52.53:54254] PHP Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '10.240.52.53' (111) in /home/ubuntu/workspace/lenders.php on line 13
[Mon Mar 23 13:59:17.146571 2015] [:error] [pid 26008] [client 10.240.52.53:54254] PHP Notice: Trying to get property of non-object in /home/ubuntu/workspace/lenders.php on line 16
[Mon Mar 23 13:59:17.146580 2015] [:error] [pid 26008] [client 10.240.52.53:54254] PHP Notice: Trying to get property of non-object in /home/ubuntu/workspace/lenders.php on line 19
[Mon Mar 23 13:59:17.146680 2015] [:error] [pid 26008] [client 10.240.52.53:54254] PHP Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/ubuntu/workspace/lenders.php on line 24
[Mon Mar 23 13:59:17.146693 2015] [:error] [pid 26008] [client 10.240.52.53:54254] PHP Warning: mysql_query(): A link to the server could not be established in /home/ubuntu/workspace/lenders.php on line 24
[Mon Mar 23 13:59:17.146708 2015] [:error] [pid 26008] [client 10.240.52.53:54254] PHP Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/ubuntu/workspace/lenders.php on line 48
C9 Терминальный выход
mysql> select * FROM lenders;
+----+--------+---------+--------------+-----------+-------------------------------------------------------+
| ID | First | Last | Company | Phone | Bio |
+----+--------+---------+--------------+-----------+-------------------------------------------------------+
| 1 | Tanner | Hallman | UNCW | 123456789 | I am a cool guy that would be good for your finances. |
| 2 | Wes | Hallman | Mortgage Pro | 987654321 | I'm a good, cool person. |
+----+--------+---------+--------------+-----------+-------------------------------------------------------+
2 rows in set (0.00 sec)
Вывод из браузера
Я получаю начало таблицы с заголовками, но она не извлекает данные.
Я подтвердил, что c9 действительно может подключиться к базе данных с помощью терминала c9, поэтому я заблудился.
Успешно подключился мой чувак ()
ID | Имя | Фамилия | Компания
В соответствии с: http://php.net/manual/en/mysqli.quickstart.statements.php
$records = mysql_query($sql);
следует заменить на $records = $db->query($sql);
или даже $records = mysqli_query($db, $sql);
так как вы не указываете, какую БД следует использовать для выполнения вашего запроса
затем while ($lender = mysql_fetch_assoc($records)) {
следует заменить на
while ($lender = $records->fetch_assoc()) {
или же while ($lender = mysqli_fetch_assoc($records)) {
Надеюсь это поможет.
Других решений пока нет …