# #php #firebase #firebase-realtime-database
Вопрос:
У меня есть хранилище Firebase, содержащее два поля данных
-imagineeringuk -- data ----temperature ----humidity
И я использую sdk kreait. Ничего плохого в SDK, который я мог бы добавить, только я.
Похоже, я не могу получить какие-либо данные из базы данных реального времени, поэтому я еще раз прошу о помощи.
У меня есть index.php (отредактировано, чтобы удалить всю болтовню).
lt;?php include('dbcon.php'); $ref = "imagineeringuk"; $getdata = $database-gt;getReference($ref)-gt;getValue(); $i = 0; if($getdata gt; 0) { foreach($getdata as $key =gt; $row) { $i ; ?gt; lt;trgt; lt;tdgt;lt;?php echo $row['temperature']; ?gt;lt;/tdgt; lt;tdgt;lt;?php echo $row['humidity']; ?gt;lt;/tdgt; lt;tdgt; lt;a href="edit.php?token=lt;?php echo $key; ?gt;" class="btn btn-primary"gt;Editlt;/agt; lt;/tdgt; lt;tdgt; lt;form action="code.php" method="POST"gt; lt;input type="hidden" name="ref_token_delete" value="lt;?php echo $key; ?gt;"gt; lt;button type="submit" name="delete_data" class="btn btn-danger"gt;Deletelt;/buttongt; lt;/formgt; lt;/tdgt; lt;/trgt; lt;?php } } else { ?gt; lt;tr class="text-center"gt; lt;td colspan="6"gt;DATA NOT THERE IN DATABASElt;/tdgt; lt;/trgt; lt;?php } ?gt;
И в dbcon.php файл здесь …
lt;?php require __DIR__.'/vendor/autoload.php'; use KreaitFirebaseFactory; use KreaitFirebaseServiceAccount; // This assumes that you have placed the Firebase credentials in the same directory // as this PHP file. $factory = (new Factory)-gt;withServiceAccount(__DIR__.'/imagineXXXXXXXXXXXXXXXXXXXXXX.json'); $database = $factory-gt;createDatabase(); ?gt;
Кто-нибудь имеет хоть малейшее представление, чего мне здесь не хватает?
Ответ №1:
Похоже, вы передаете имя своей базы данных ( imagineeringuk
) getReference()
. Вместо этого вы передаете имя БД во время инициализации ( withDatabaseUri
), а затем либо передаете путь в базе данных, которую вы хотите получить, либо ничего getReference()
.
Комментарии:
1. спасибо тебе, Фрэнк! Суперзвезда, это сработало идеально. Должно быть, я слишком долго на это пялился, но ты сразу все понял. Еще раз спасибо Вам!