Πρόβλημα Με php mysql fetching data

Βοήθεια λύσεις και νέα από τον χώρο των open source ή έτοιμων εφαρμογών που έχουν φτιαχτεί με την PHP όπως oscommerce, κ.α.

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 07:03

Καλησπέρα(ύστερα από πολύ καιρό),
στην ιστοσελίδα που φτιάχνω έχω ένα forum phpbb πέρα από αυτό μία ιστοσελίδα.
Προσπαθώ λοιπόν να πάρω κάποια πράγματα από την βάση δεδομένων. Και εμφανίζεται το παρακάτω πρόβλημα:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/aboutra/public_html/travelstories_single.php on line 15

Ο κώδικας έιναι <?

$story = $_GET['sid'];

// establish connection to the database containing the quotes.
$db = mysql_connect("localhost", "*****", "*****") or die ("Unable to connect to database.");
mysql_select_db("******") or die ("Unable to select database.");
// select the quotes that have not been displayed (q_mark = 0).


$author_id = mysql_query("SELECT author_id from travelstories WHERE story_id = $story");
$ts_username = mysql_query("SELECT username from community_users WHERE user_id = $author_id ");


while ($row = mysql_fetch_array($ts_username)) {
echo $row['username'];
}


?>

Προσπαθώ εδώ και ώρες να το λύσω αλλά δεν γίνεται.. :(
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 09:11

Για δοκίμασε έτσι.

$author_id = mysql_query("SELECT author_id from travelstories WHERE story_id = $story");

Κώδικας: Επιλογή όλων

while &#40;$row = mysql_fetch_array&#40;$author_id&#41;&#41; &#123;
$author_id = $row&#91;"author_id"&#93;;
$ts_username = mysql_query("SELECT username from community_users WHERE user_id = ".$author_id." ");


while ($row = mysql_fetch_array($ts_username)) {
echo $row['username'];
}

Κώδικας: Επιλογή όλων

&#125;

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 09:23

Τώρα γίνεται το άλλο. Πρώτα μου βγάζει το error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/aboutra/public_html/travelstories_single.php on line 13

Και ακριβώς από κάτω μου βγάζει το username που ήθελα. Δηλαδή ενώ δουλεύει βγάζει και error.

Ο κώδικας τώρα είναι έτσι

Κώδικας: Επιλογή όλων

$author_id = mysql_query&#40;"SELECT author_id from travelstories WHERE story_id = $story"&#41;;

while &#40;$row = mysql_fetch_array&#40;$author_id&#41;&#41; &#123; 
$author_id = $row&#91;"author_id"&#93;; 
&#125;


$ts_username = mysql_query&#40;"SELECT username from community_users WHERE user_id = ".$author_id." "&#41;;


while &#40;$row = mysql_fetch_array&#40;$ts_username&#41;&#41; &#123; //line 13
echo $row&#91;'username'&#93;;
&#125;
Ευχαριστώ πολύ πάντως!
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 09:42

Το πρόβλημα μάλλον είναι στο

Κώδικας: Επιλογή όλων

WHERE story_id = $story
Φαντάζομαι οτι εκεί θέλεις να τραβήξεις κάποιες εγγραφές σύμφωνα με ένα συγκεκριμένο $story. Το οποίο είτε το τραβάς με ένα άλλο query είτε το παίρνεις με κάποια φόρμα (με POST ή GET).
Οποτε έχεις μια τέτοια περίπτωση πρέπει να το κάνεις έτσι:

Κώδικας: Επιλογή όλων

WHERE story_id = ".$story."

Επίσης, κανονικά το

Κώδικας: Επιλογή όλων

while &#40;$row = mysql_fetch_array&#40;$author_id&#41;&#41; &#123;
θα πρέπει να το κλείνεις μετά το δεύτερο query ώστε κατά τη διάρκεια που εκτελείς το δεύτερο query να συνεχίσεις να παίρνεις το $row["author_id"]

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 09:46

Το είχα δοκιμάσει και αυτό αλλά δεν γίνεται.

Το story το τραβάω:

Κώδικας: Επιλογή όλων

$story = $_GET&#91;'sid'&#93;;
Σίγουρα χρειάζονται και τα δύο while?

Εδώ είναι και η σελίδα σε περίπτωση που σε βοηθήσει.
aboutraveling.com/portal.php?go=travelstories_single&sid=1
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 09:55

Για βάλε ένα echo μπροστά από το πρώτο query και δες αν εκτελείτε το query που θέλεις.
Αν είναι εντάξει κάνε το ίδιο και στο δεύτερο query.
Το μήνυμα που σου βγάζει σημαίνει οτι κάποια προϋπόθεση του query δεν πληρείται.

Και μην κολλάς τόσο με το line 13. Το σφάλμα είναι κάπου εκεί γύρω αλλά όχι απαραίτητα σε εκείνη τη γραμμή.

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 09:57

Στο πρώτο μου βγάζει Resource id #9
και στο 2ο Resource id #10 που δεν ξέρω τι σημαίνουν. :S
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 10:01

:P
Τα είδα κι εγώ.
Σβήσε το mysql_query για λίγο ώστε να δείς την εντολή καθαρή και αν οι μεταβλητές που έχεις ($story) παίρνουν κάποια τιμή.
Μετά το ξαναγράφεις όπως ήταν.

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 10:02

Fatal error: Function name must be a string in /home/aboutra/public_html/travelstories_single.php on line 11

μου έβγαλε. αυτό δεν εννοούσες να γράψω?

echo $author_id ("SELECT author_id from travelstories WHERE story_id = $story");
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 10:03

Κώδικας: Επιλογή όλων

echo $author_id = "SELECT author_id from travelstories WHERE story_id = ".$story." "; 

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 10:07

Αυτό ακριβώς βγάζει

Κώδικας: Επιλογή όλων

	SELECT author_id from travelstories WHERE story_id = 1 
Warning&#58; mysql_fetch_array&#40;&#41;&#58; supplied argument is not a valid MySQL result resource in /home/aboutra/public_html/travelstories_single.php on line 12

Warning&#58; mysql_fetch_array&#40;&#41;&#58; supplied argument is not a valid MySQL result resource in /home/aboutra/public_html/travelstories_single.php on line 20
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 10:08

Αρα λοιπόν το πρώτο query τρέχει όπως το θέλεις.
Επανέφερέ το όπως ήταν και κάνε το ίδιο για το δεύτερο query.

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 10:10

SELECT username from community_users WHERE user_id = 2

Και το δεύτερο άρα τρέχει

:(
Εικόνα

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Πρόβλημα Με php mysql fetching data

Δημοσίευση από Apostolis_38 » 09 Σεπ 2010 10:15

Οπότε τα query τρέχουν σωστά αλλά κάτι δεν είναι "με το γράμμα του νόμου"
Πόσταρε και τον κώδικα λίγο πιο πρίν από το πρώτο query να δούμε.

Θα πρέπει να περιμένεις λίγο όμως γιατί πρέπει να πάω και στη δουλειά :D

ManosWdd
Δημοσιεύσεις: 288
Εγγραφή: 17 Ιουν 2004 01:48
Τοποθεσία: Θεσσαλονίκη, Ελλάδα.

Πρόβλημα Με php mysql fetching data

Δημοσίευση από ManosWdd » 09 Σεπ 2010 10:17

Κώδικας: Επιλογή όλων

<?

$story = $_GET&#91;'sid'&#93;;

// establish connection to the database containing the quotes.
$db = mysql_connect&#40;"localhost", "*****", "*****&#41; or die &#40;"Unable to connect to database."&#41;;
mysql_select_db&#40;"******"&#41; or die &#40;"Unable to select database."&#41;;
// select the quotes that have not been displayed &#40;q_mark = 0&#41;.

$author_id = mysql_query&#40;"SELECT author_id from travelstories WHERE story_id = $story"&#41;;

while &#40;$row = mysql_fetch_array&#40;$author_id&#41;&#41; &#123; 
$author_id = $row&#91;"author_id"&#93;; 
&#125;


$ts_username = mysql_query&#40;"SELECT username from community_users WHERE user_id = ".$author_id." "&#41;;


while &#40;$row = mysql_fetch_array&#40;$ts_username&#41;&#41; &#123;
echo $row&#91;'username'&#93;;
&#125;

?>
Το έκανα αλλά δεν έχει και τίποτα περισσότερο.
Έγινε! Ευχαριστώ και πάλι!!

EDIT:
Να ρωτήσω και κάτι ακόμα.
Πώς γίνεται στο http://aboutraveling.com/travelstories_single.php&sid=1
να λέει

Not Found

The requested URL /travelstories_single.php&sid=1 was not found on this server.

και στο http://aboutraveling.com/travelstories_single.php


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/aboutra/public_html/travelstories_single.php on line 12

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/aboutra/public_html/travelstories_single.php on line 20
Εικόνα

Απάντηση

Επιστροφή στο “PHP έτοιμες εφαρμογές”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες