tr3quart1sta Δημοσ. 28 Δεκεμβρίου 2014 Δημοσ. 28 Δεκεμβρίου 2014 Προσπαθω εδω και ωρες να μου βγει το JSON να εχει μονο url's μεσα, αλλα το καλυτερο που εχω καταφερει εως τωρα ειναι το παρακατω. Οτι αλλο και αν δοκιμασα μου πεταει ενα undefined... JSON: { "0":{ "user_id":2, "url":"http://www.omdbapi.com/?t=inception&y=&plot=short&r=json" }, "1":{ "user_id":2, "url":"http://www.omdbapi.com/?t=matrix&y=&plot=short&r=json" }, "user_id":2, "url":"http://www.omdbapi.com/?t=equilibrium&y=&plot=short&r=json" } PHP: // Fetch movies for the specified user. function fetchUserMovies($user_id){ try { global $db_table_prefix; $db = pdoConnect(); $sqlVars = array(); $results = array(); //$query = "select {$db_table_prefix}user_movies.user_id as user_id from {$db_table_prefix}user_movies where {$db_table_prefix}user_movies.user_id = :user_id"; $query = "select * from {$db_table_prefix}user_movies"; $stmt = $db->prepare($query); $sqlVars[':user_id'] = $user_id; $stmt->execute(); /* if ($r = $stmt->fetch(PDO::FETCH_ASSOC)) { $results = $r; } while ($r = $stmt->fetch(PDO::FETCH_ASSOC)) { $results[] = $r; } */ $results = $stmt->fetch(); $stmt = null; return json_encode($results); } catch (PDOException $e) { addAlert("danger", "Oops, looks like our database encountered an error."); error_log("Error in " . $e->getFile() . " on line " . $e->getLine() . ": " . $e->getMessage()); return false; } catch (ErrorException $e) { addAlert("danger", "Oops, looks like our server might have goofed. If you're an admin, please check the PHP error logs."); return false; } } DB:
defacer Δημοσ. 28 Δεκεμβρίου 2014 Δημοσ. 28 Δεκεμβρίου 2014 SELECT url FROM {$db_table_prefix}user_movies // ... $urls = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); return json_encode($urls); Θα σου δώσει [ "http://...", "http://...", "http://..." ]
NoD Δημοσ. 28 Δεκεμβρίου 2014 Δημοσ. 28 Δεκεμβρίου 2014 Αφού στο sql query σου έχεις * είναι λογικό. Απλά αντικατέστησε με: $query = "select url from {$db_table_prefix}user_movies";
tr3quart1sta Δημοσ. 28 Δεκεμβρίου 2014 Μέλος Δημοσ. 28 Δεκεμβρίου 2014 select url σκετο δεν παιζει, πεταει undefined. επισης οτιδηποτε αλλο εκτος απο fetch σκετο δεν παιζει (fetchall, fetchcolumn, κλπ..), παλι undefined.
defacer Δημοσ. 28 Δεκεμβρίου 2014 Δημοσ. 28 Δεκεμβρίου 2014 Δεν ξέρουμε τι κάνει η $db->prepare() ούτε τι είναι το $db. Αν έχεις κάνει καστομιές θα πρέπει να το πεις.
tr3quart1sta Δημοσ. 28 Δεκεμβρίου 2014 Μέλος Δημοσ. 28 Δεκεμβρίου 2014 PDO::prepare() // All SQL queries use PDO now function pdoConnect(){ // Let this function throw a PDO exception if it cannot connect global $db_host, $db_name, $db_user, $db_pass; $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", $db_user, $db_pass); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $db; } Ο κωδικας ειναι απο αυτο το project. Εγω απλα εφτιαξα ενα επιπλεον table για να αποθηκευσω τις ταινιες του καθε χρηστη (στο site μπορει απλα ο καθε χρηστης να φτιαξει μια δικια του movie watchlist). Ετσι τωρα προσπαθω να φτιαξω αλλη μια μεθοδο στο db_functions.php για να παιρνω τα δεδομενα απο το καινουριο table.
defacer Δημοσ. 29 Δεκεμβρίου 2014 Δημοσ. 29 Δεκεμβρίου 2014 Πρέπει να δείξεις πραγματικό κώδικα που δε δουλεύει και το error message, από την περιγραφή και μόνο η απάντηση είναι "δε μπορεί να συμβαίνει αυτό".
tr3quart1sta Δημοσ. 11 Ιανουαρίου 2015 Μέλος Δημοσ. 11 Ιανουαρίου 2015 fixed: function fetchUserMovies($user_id){ try { global $db_table_prefix; $results = array(); $db = pdoConnect(); $sqlVars = array(); $query = "select url from {$db_table_prefix}user_movies where user_id = {$user_id}"; $stmt = $db->prepare($query); $stmt->execute($sqlVars); while ($r = $stmt->fetch(PDO::FETCH_ASSOC)) { $results[] = $r; } $stmt = null; return $results; } catch (PDOException $e) { addAlert("danger", "Oops, looks like our database encountered an error."); error_log("Error in " . $e->getFile() . " on line " . $e->getLine() . ": " . $e->getMessage()); return false; } catch (ErrorException $e) { addAlert("danger", "Oops, looks like our server might have goofed. If you're an admin, please check the PHP error logs."); return false; } }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα