| Autor | Zpráva | ||
|---|---|---|---|
| emissary Profil |
Dobrý deň,
chcem sa spýtať, či neexistuje nejaká funkcia, ktorá by mi výsledok z dotazu na databázu dala do môjho požadovaného tvaru. Uvádzam kód: Tabuľka v databáze: CREATE TABLE student ( studentid SERIAL NOT NULL PRIMARY KEY, name varchar(255) ); Kód v PHP: require_once('class.Student.php');
class StudentFactory {
public function getStudent($id) {
$sql = "SELECT * FROM student WHERE studentid = $id";
$data; // kód ktorý potrebujem vytvoriť
if(is_array($data) && sizeof($data)) {
return new Student ($data[0]['studentid'], $data[0]['name'] );
} else {
throw new Exception("Student s identifikátorom $id neexistuje");
}
}
}Otázka teda znie, ako mám vytvoriť pripojenie k databáze. Resp. či to mám spravené dobre. A chcem vedieť, či existuje nejaká funkcia, ktorá dokáže $result previesť takto: $id = 1;
$sql = "SELECT * FROM student WHERE studentid = $id";
$mysqli = new MySQLi('localhost', 'admin', '12345', 'school'); //Vôbec netuším, či sa PHP komplet postará o objekt MySQLi ktorý bude schopný fungovať s použitím rôznych metód ako je vidieť v riadku nižšie.
$result = $mysqli->query($sql);
$data = nejaka_funkcia($result); //existuje nejaká funkcia ktorá by dokázala spraviť v data pole v takom tvare ako použijem v riadku nižšie?
$idStudenta = $data[0]['studentid'];
$nameStudenta = $data[0]['name'];
echo "Toto je študent $nameStudenta s ID $idStudenta.<br>\n";
echo "Toto je študent $data[0]['name'] s ID $data[0][studentid].<br>\n";
// $data[0]['name'] = 'name' je názov stĺpca v tabuľke databáze ako aj 'studentid' v $data[0]['studentid'] |
||
| peta Profil |
while + http://us2.php.net/manual/en/mysqli-result.fetch-assoc.php
Je to v dokumentaci i s prikladem. Misto print_r to jen ulozis do pole $data[]=... |
||
|
Časová prodleva: 12 let
|
|||
0