|
PHP PHP aplikacije, Smarty, PEAR |
|
Alati teme | Način prikaza |
01. 12. 2014. | #1 | |
profesionalac
Professional
Datum učlanjenja: 25.10.2012
Poruke: 278
Hvala: 16
32 "Hvala" u 9 poruka
|
Get_result ne radi - zamena FETCH i BIND
Kreiram REST api na backend strani najpre sam imao funciju:
Kôd:
public function getAllUserTasks($user_id) { $stmt = $this->conn->prepare("SELECT t.* FROM tasks t, user_tasks ut WHERE t.id = ut.task_id AND ut.user_id = ?"); $stmt->bind_param("i", $user_id); $stmt->execute(); $stmt->bind_result(); $tasks = $stmt->get_result(); $stmt->close(); return $tasks; } onda sam napisao: Kôd:
public function getAllUserTasks($user_id) { $stmt = $this->conn->prepare("SELECT t.* FROM tasks t, user_tasks ut WHERE t.id = ut.task_id AND ut.user_id = ?"); $stmt->bind_param("i", $user_id); $stmt->execute(); $tasks = array(); $stmt->bind_result($id, $task, $status, $created_at); $stmt->fetch(); $tasks["id"] = $id; $tasks["task"] = $task; $tasks["status"] = $status; $tasks["created_at"] = $created_at; $stmt->close(); return $tasks; } Kôd:
$app->get('/tasks', 'authenticate', function() { global $user_id; $response = array(); $db = new DbHandler(); // fetching all user tasks $result = $db->getAllUserTasks($user_id); $response["error"] = false; $response["tasks"] = array(); // looping through result and preparing tasks array while ($result->fetch_assoc()) { //$tmp = array(); $response["error"] = false; $response["id"] = $result["id"]; $response["task"] = $result["task"]; $response["status"] = $result["status"]; $response["createdAt"] = $result["created_at"]; array_push($response["tasks"], $result); } echoRespnse(200, $response); }); Citat:
|
|
02. 12. 2014. | #2 |
emperor Selassie
Grand Master
|
Sama greška ti kaže "pokušavaš da pozoveš fetch_assoc() metodu nečega što nije objekat". getAllUserTasks() ti vraća niz a ti onda pokušavaš na njemu da pozoveš metodu fetch_assoc()
|
02. 12. 2014. | #3 | |
expert
Grand Master
|
Citat:
neki imaju built-in CRUD REST api, dok drugi te olaksavaju u pisanju istog cakephp, zend, laravel, yii, symphony, CI, Phalcon, Kohana ... (ne tim redom) P.S. neki micro framework takodje moze biti dobar http://xybu.me/a-comparison-of-php-micro-frameworks/ Ili pisi od nule, ali ga OOP-izuj imaj neki Model, koji ce biti nasledjen od drugih klasa modela, pa recimo User->getAll() ce ti biti iz parenta itd Poslednja izmena od robi-bobi : 02. 12. 2014. u 12:14. Razlog: dodao link |
|
02. 12. 2014. | #4 |
profesionalac
Professional
Datum učlanjenja: 25.10.2012
Poruke: 278
Hvala: 16
32 "Hvala" u 9 poruka
|
Ovo je micro framewrok - slim php framework
|
02. 12. 2014. | #5 |
expert
Grand Master
|
vidim, moja greska.
ocekivao sam da po defaultu imaju ORM http://silentworks.co.uk/blog/develo...framework.html (a kad se samo setim kako sam bio protiv auto-sql funkcija pre nekoliko godina) ukoliko ides rucno: 1. preporucujem da imas class Model sa: public function getAll(), ... where()... zatim class Users extends Model class Tasks extends Model lakse za odrzavanje. 2. naravno, mozes i kao sto si poceo: svaki url je konkretna anonimna funkcija, nije greska, pogotovu kod malih projekata. |
03. 12. 2014. | #6 |
profesionalac
Professional
Datum učlanjenja: 25.10.2012
Poruke: 278
Hvala: 16
32 "Hvala" u 9 poruka
|
Ovo je mali projekat tj same funkcije su jako proste tako da nema potrebe da sad komplikujem, prvi put krecem sa REST i cross-domain stvarima ...
|
|
|