2 Stimmen

PHP-Objekt in Zeichenkette

Ich habe 2 Stunden damit verbracht, durch die anderen wenigen Beiträge bei Stack Overflow zu diesem Thema zu suchen und sie schienen komplizierter zu sein als das, was ich brauchte. Ich habe versucht, die __toString-Funktion zu verwenden, aber ich glaube, ich habe es nicht richtig gemacht.

Ich versuche, die SQL-Anweisung für $personid zu nehmen und in einen String umzuwandeln, damit ich sie in den anderen SQL-Methoden verwenden kann.

$personid = $this->db->query('SELECT person_id FROM person');

$fullname = $this->db->query("SELECT person_fname, person_lname FROM person
                          WHERE person_id = '".$personid."';");

$sport = $this->db->query("SELECT sport_name FROM person_sport_rel A1
                        INNER JOIN sport A2 ON A1.sport_id = A2.sport_id
                        WHERE person_Id = '".$personid."';");

Genau wie bei den anderen Beiträgen hatte ich das Problem.. der Fehler den ich erhalte ist

Object of class CI_DB_mysql_result could not be converted to string

Ich habe versucht, den Konstruktor und die __toString-Methode in der Klasse CI_DB_mysql_result hinzuzufügen, die auf der PHP-Website empfohlen wurde, aber ohne Erfolg.

3voto

Gustav Larsson Punkte 7809

Es sieht so aus, als ob Sie Codeigniter verwenden. Um die Ergebnisse einer Abfrage abzurufen, überprüfen Sie diese Website: http://www.codeignitor.com/user_guide/database/results.html

Von dieser Seite:

$query = $this->db->query("IHRE ABFRAGE");

foreach ($query->result() as $row)
{
   echo $row->title;
   echo $row->name;
   echo $row->body;
}

2voto

VDP Punkte 6252

Sie geben wahrscheinlich eine Reihe von IDs zurück, wenn Sie diese Abfrage ausführen:

$personidsQuery = $this->db->query('SELECT person_id FROM person');

also wenn Sie es in neuen Abfragen wiederverwenden möchten, ist dies wahrscheinlich interessanter:

$sql = "SELECT person_fname, person_lname FROM person WHERE person_id = ?";
foreach ($personidsQuery->result() as $row)
{
    $namesQuery = $this->db->query($sql, array($row->person_id));
}

Das CI-Benutzerhandbuch ist eine gute Hilfe dabei: http://www.codeignitor.com/user_guide/database/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X