macabre_sunsets Δημοσ. 19 Μαΐου 2011 Δημοσ. 19 Μαΐου 2011 Η βάση μου έχει αρκετούς πίνακες με όνομα «χχχχ» όπου χ είναι ένας αριθμός. Από ό,τι κατάλαβα, αυτό δεν είναι έγκυρο όνομα για πίνακες αλλά δυστυχώς δεν μπορώ να τους αλλάξω όνομα. Το πρόβλημα που αντιμετωπίζω είναι ότι δεν μπορώ να διαβάσω τα δεδομένα των εν λόγω πινάκων από την PHP. Δίνοντας "SELECT * FROM table" μου επιστρέφει όλους τους πίνακες εκτός από αυτούς με το αριθμητικό όνομα. Υπάρχει κάποια λύση σε αυτό το πρόβλημα; Ψάχνωντας βρήκα κάποιους να προτείνουν να μπει το όνομα του πίνακα σε "[...]" αλλά ακόμα και έτσι δεν κατάφερα κάτι.
dewn735 Δημοσ. 19 Μαΐου 2011 Δημοσ. 19 Μαΐου 2011 Δεν έχω διαβάσει ούτε και μου έχει τύχει κάτι που να μην δέχεται πίνακες με αριθμητικά για ονομασία. Δε σου έπαιξε με quotes ή double quotes; (SELECT * FROM '1234') edit: δοκίμασε και με αυτόν τον χαρακτήρα: `
macabre_sunsets Δημοσ. 19 Μαΐου 2011 Μέλος Δημοσ. 19 Μαΐου 2011 Το πρόβλημά μου είναι το ανάποδο. Θέλω κάτι τέτοιο "SELECT 4000 FROM my_table". Προς το παρών βρήκα ότι το "SELECT 4000 as a FROM my_table" δουλεύει αλλά δεν είναι ιδιαίτερα βολικό να το κάνω αυτό 20-30 φορές. Δοκίμασα και με το "SELECT `4000` FROM my_table" αλλά το αποτέλεσμα ήταν το ίδιο. Κάνω print_r() (στην PHP) τον πίνακα που επιστρέφει το query και είναι κενός.
sxsweb Δημοσ. 19 Μαΐου 2011 Δημοσ. 19 Μαΐου 2011 Δοκιμασε να δώσεις το query > SELECT `my_table`.`4000` FROM `my_table`
macabre_sunsets Δημοσ. 19 Μαΐου 2011 Μέλος Δημοσ. 19 Μαΐου 2011 Ούτε αυτό παίζει. Εξάλλου, θα ήθελα να αποφύγω να γράφω 20-30 φορές το "SELECT `my_table`.`4000` FROM `my_table`". Προς το παρών έκανα το ακόλουθο. Παρ'όλο που φαίνεται να παίζει, δεν γίνεται να μην υπάρχει καλύτερο τρόπος :/ >$tables = array('4000','4001', .....); $selectTables = ''; foreach ($tables as $table) { $selectTables .= "table_name.$table AS a$table, "; } $query = "SELECT $selectTables FROM my_table";
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.