Δυναμικοτερο insert στη mysql (με php)

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Δυναμικοτερο insert στη mysql (με php)

Δημοσίευση από gvre » 20 Ιούλ 2011 23:49

Λογικά είναι οκ τώρα (το execute πρέπει να είναι έξω από το loop).

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

$cn->beginTransaction();
$stmt = $cn->prepare($sql);
$cnt = 1;
foreach($data as &$v)
        $stmt->bindParam($cnt++, $v, PDO::PARAM_INT);
$stmt->execute();
$cn->commit();

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Δυναμικοτερο insert στη mysql (με php)

Δημοσίευση από Christianago » 21 Ιούλ 2011 00:22

Ωραιος φιλε μου!! Δουλεψε τελεια! Με αφορμη τον κωδικα σου βρηκα αυτο:

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

$query = mysqli_query($db, "INSERT INTO tableta (".implode(',',array_keys($data)).") VALUES ('".implode("','",array_values($data))."')");
Το οποιο και αυτο δουλεψε. Ποιο να χρησιμοποιω ως εισαγωγη στο εξης; Απο τι εξαρταται τι να χρησιμοποιω;

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Δυναμικοτερο insert στη mysql (με php)

Δημοσίευση από gvre » 21 Ιούλ 2011 00:34

Την ίδια δουλειά κάνουν. Αν θέλεις να χρησιμοποιήσεις αυτό που έστειλες θα πρέπει πρώτα να περάσεις τα values του array από mysqli_real_escape_string().
Εγώ προτιμώ τα prepared statements για να έχω το κεφάλι μου ήσυχο :)

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Δυναμικοτερο insert στη mysql (με php)

Δημοσίευση από Christianago » 21 Ιούλ 2011 00:49

Σωστα για να μη γινει μπαχαλο απο τις πολλαπλες εισαγωγες των χρηστων prepared statements+1!

Απάντηση

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

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

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