Haros Δημοσ. 29 Απριλίου 2012 Δημοσ. 29 Απριλίου 2012 Καλησπέρα. Έστω ότι έχουμε στήλη με όνομα id και μια εγγραφή που έχει id = 11. >SELECT * FROM table WHERE id = '11fdsfsdfsdf' Αυτό μου επιστρέφει αποτέλεσμα την έγγραφη που έχει id = 11 ! Αντίθετα άμα δώσω >SELECT * FROM table WHERE 'id' = '11fdsfsdfsdf' (προσοχή ότι έχω βάλει quotes στο όνομα της στήλης) Δεν μου επιστρέφει καμία εγγραφή (όπως είναι και το λογικό!) Τί γίνεται ρε παιδιά; Από πότε χρειάζονται quotes στο όνομα της στήλης; Και από πότε η mysql υιοθέτησε αυτή την περίεργη συμπεριφορά να σου βγάζει αποτελέσματα σα να έχεις κάνει LIKE άμα δεν βάζεις τα quotes?!
antonl Δημοσ. 29 Απριλίου 2012 Δημοσ. 29 Απριλίου 2012 http://www.sitepoint.com/forums/showthread.php?277642-variables-in-MySQL-queries-amp-quotes-on-numbers @#4: In numeric context, MySQL automatically converts this string to a number and strips any trailing non-numeric characters from it."
παπι Δημοσ. 29 Απριλίου 2012 Δημοσ. 29 Απριλίου 2012 Τί γίνεται ρε παιδιά; Από πότε χρειάζονται quotes στο όνομα της στήλης; Και από πότε η mysql υιοθέτησε αυτή την περίεργη συμπεριφορά να σου βγάζει αποτελέσματα σα να έχεις κάνει LIKE άμα δεν βάζεις τα quotes?! Δεν το βλεπει ως στηλη, το βλεπει ως συνθηκη πχ >select * from SomeTable where 3 + 5 = 2 + 6
Haros Δημοσ. 29 Απριλίου 2012 Μέλος Δημοσ. 29 Απριλίου 2012 Ευχαριστώ για την γρήγορη απάντηση antonl. Δεν το βλεπει ως στηλη, το βλεπει ως συνθηκη πχ >select * from SomeTable where 3 + 5 = 2 + 6 έτσι εξηγείτε και το δεύτερο part. Ευχαριστώ.
moukoublen Δημοσ. 30 Απριλίου 2012 Δημοσ. 30 Απριλίου 2012 EDIT: Λάθος. Τώρα είδα την απάντηση στο πρώτο post.
Carrion Δημοσ. 25 Ιουνίου 2012 Δημοσ. 25 Ιουνίου 2012 Το πρώτο part σου απαντήθηκε ή ακόμα ψάχνεις τι φταίει; Αν δεν έχεις ακόμα βρει τι φταίει με το >SELECT * FROM table WHERE id = '11fdsfsdfsdf' Λογικά το πεδίο 'ID' του πίνακα 'TABLE' είναι μεγέθους char 2 / numc 2 Σε αυτήν την περίπτωση, από την συνθήκη που γράφεις στο where, παίρνει τόσους χαρακτήρες όσους μπορεί να βάλει μέσα στο 'ΙD'.
defacer Δημοσ. 25 Ιουνίου 2012 Δημοσ. 25 Ιουνίου 2012 Το πρώτο part σου απαντήθηκε ή ακόμα ψάχνεις τι φταίει; Απαντήθηκε από την πρώτη απάντηση. Το πεδίο λογικά είναι int.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα