04. maj 2014 - 11:30
Der er
6 kommentarer
Redbeans php select from database
Jeg er lige gået igang med php orm systemet redbeans php og har problemer med at hente informationer fra databasen i et array som jeg plejer at gøre. Sådan her ville jeg normalt gøre: <?php $conn = mysqli_connect ("localhost","root","","test"); $query = mysqli_query ($conn,"select * from members"); while($result = mysqli_fetch_array($query)){ echo $result['id']; echo "<br>"; echo $result['firstname']; echo "<br>"; echo $result['lastname']; echo "<br>"; echo $result['email']; echo "<br><br>"; }; ?> Jeg vil gerne have samme informationer ud via redbeans php, men har mange problemer med det. jeg kan få den til at vise en række fra databasen hvis jeg skriver hvilken id det skal vælges fra som vist her: <?php require 'rb.phar'; R::setup('mysql:host=localhost;dbname=test','root',''); $members = R::load('members', 1); echo $members->firstname; ?> Hvis jeg sletter kommaet og et tallet viser den en fejl. håber der er nogle der kan hjælpe mig.
Annonceindlæg fra FPT Software
Kender ikke til Redbeans, men var inde på deres dokumentation. Hvis du vil have alle rækker i databasen skal du bruge R::findAll(). R::load() er kun til at hente en række
det ved jeg godt, men det er hvordan jeg får det ud i et array. den skriver nemlig en fejl hvis jeg bruger koden: $all = R::findAll('members'); echo $all; eller på den måde som skulle kunne få de enkelte informationer ud på: $all = R::findAll('members'); echo $all->firstname;
prøv at lave en var_dump på $all så kan du finde ud af hvordan resultatet ser ud
Hvis jeg laver en var dump på denne kode: $members = R::findAll('members'); var_dump($members); Kommer dette output: array (size=2) 1 => object(RedBeanPHP\OODBBean)[15] private 'flagSkipBeau' => boolean false private 'properties' => array (size=4) 'id' => string '1' (length=1) 'firstname' => string 'Michael' (length=7) 'lastname' => string 'Kirkegaard' (length=10) 'email' => string 'michael_k@mail.dk' (length=17) private '__info' => array (size=4) 'type' => string 'members' (length=7) 'sys.id' => string 'id' (length=2) 'sys.orig' => array (size=4) ... 'tainted' => boolean false private 'beanHelper' => object(RedBeanPHP\BeanHelper\SimpleFacadeBeanHelper)[10] private 'fetchType' => null private 'withSql' => string '' (length=0) private 'withParams' => array (size=0) empty private 'aliasName' => null private 'via' => null private 'noLoad' => boolean false private 'all' => boolean false 2 => object(RedBeanPHP\OODBBean)[17] private 'flagSkipBeau' => boolean false private 'properties' => array (size=4) 'id' => string '2' (length=1) 'firstname' => string 'Dennis' (length=6) 'lastname' => string 'Møller' (length=7) 'email' => string 'dennis_m@mail.dk' (length=16) private '__info' => array (size=4) 'type' => string 'members' (length=7) 'sys.id' => string 'id' (length=2) 'sys.orig' => array (size=4) ... 'tainted' => boolean false private 'beanHelper' => object(RedBeanPHP\BeanHelper\SimpleFacadeBeanHelper)[10] private 'fetchType' => null private 'withSql' => string '' (length=0) private 'withParams' => array (size=0) empty private 'aliasName' => null private 'via' => null private 'noLoad' => boolean false private 'all' => boolean false Så den har jo fat i de rigtige oplysninger, det er bare hvordan jeg får dem ud hver for sig. har prøvet at echo $members['firstname']; eller $members->firstname; og der er ingen af delene der virker.
Har fået det til at virke. brugte denne kode: $members = R::find('members'); foreach($members as $result) { echo $result->id; echo "<br>"; echo $result->firstname; echo "<br>"; echo $result->lastname; echo "<br>"; echo $result->email; echo "<br><br>"; }; ellers tak for hjælpen.
Det var også det jeg vil have fortalt dig :-)
Vi tilbyder markedets bedste kurser inden for webudvikling