Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Όταν θέλω να ανακτήσω κάποια δεδομένα μέσω POST, ποιά είναι η σωστή σύνταξη για πεδία που είναι τύπου ΙΝΤ;

Έστω πεδίο age και POST είναι το ilikia, η σωστή σύνταξη δεν είναι  age= ' $_POST[ilikia] ' ;

Δημοσ.

Αν είσαι σίγουρος ότι το $_POST['ilikia'] περιέχει int, τότε μπορείς να παραλείψεις τα εισαγωγικά γύρω του.

Σε κάθε περίπτωση όμως, θα πρέπει να τα βάλεις γύρω από το ilikia (το array key δηλαδή).

 

Υποθέτοντας ότι όλο το query  είναι μέσα σε διπλά εισαγωγικά, θα μπορούσες να γράψεις

age=$_POST['ilikia']

Αν θέλεις να κρατήσεις και τα εισαγωγικά γύρω από το $_POST, γράφεις πχ:

age='$_POST[\"ilikia\"]'
Δημοσ.

Θα πρότεινα επίσης να χρησιμοποιήσεις prepared statements.

 

π.χ:

$query = "SELECT mpla mpla age = :age ";
$params = array("age"=>$_POST[ilikia]);
$pdo->prepare( query )->execute($params) 
  • Like 1
Δημοσ.

 

Θα πρότεινα επίσης να χρησιμοποιήσεις prepared statements.

 

π.χ:

$query = "SELECT mpla mpla age = :age ";
$params = array("age"=>$_POST[ilikia]);
$pdo->prepare( query )->execute($params) 

 

Κοιτά νομίζω οτι ανάλογα με την σύνδεση της database σε PDO η σε απλή! στην PDO είναι ο κώδικας που έδωσες γιατί δεν γίνεται να μπει php μέσα στο query αλλα στην απλή μπορείς να το κάνεις και ετσι

$query = ("SELECT `nothing` FROM `mpla` = '$mpla' ");
Δημοσ.

 

Κοιτά νομίζω οτι ανάλογα με την σύνδεση της database σε PDO η σε απλή! στην PDO είναι ο κώδικας που έδωσες γιατί δεν γίνεται να μπει php μέσα στο query αλλα στην απλή μπορείς να το κάνεις και ετσι

$query = ("SELECT `nothing` FROM `mpla` = '$mpla' ");

 

Αυτό που προτείνει ο cyclo είναι να γίνει χρήση του PDO και να μην περνάει user input κατευθείαν στο query χωρις sanitization.

Δημοσ.

Το $query = ("SELECT `nothing` FROM `mpla` = '$mpla' "); μου είναι πιο οικείο.

 

Επειδη είμαι αρχάριος, έχω ξεκινήσει με τα απλά πρώτα.

Δημοσ.

Ναι, αυτό μπορείς να το κάνεις και με pdo και με mysqli και με mysql.

Απλά το τελευταίο είναι deprecated. Μην το χρησιμοποιείς ποτέ σε "αληθινές" εφαρμογές.

Προσπάθησε να μεταφερθείς στο ένα από τα δύο πρώτα εξ αρχής.

  • Like 1
Δημοσ. (επεξεργασμένο)

και εγω θα σου πρότεινα να χρησιμοποίησης αυτό που σου πρότεινε ο 

 

$query = "SELECT `mpla` WHERE age = :age ";
$params = array(:age => $_POST[ilikia]);
$pdo->prepare( query )->execute($params) 

 

( το άλλαξα λίγο )

αλλά όπως είπα ανάλογα πως έχεις συνδεθεί στην βάση δεδομένων 

Επεξ/σία από NikosTsolakos

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...