update σε βάση

Γενικές συζητήσεις για SQL και SQL Servers (RDBMS)

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

Απάντηση
ioannisls
Δημοσιεύσεις: 83
Εγγραφή: 11 Ιαν 2012 15:50
Επικοινωνία:

update σε βάση

Δημοσίευση από ioannisls » 23 Ιουν 2014 19:51

τρέχω το παρακάτω δε κάνει τπτ
$anavathmisi_table_c ="
UPDATE table_c
SET ep_1='$previous_1'
WHERE idNo='$update'
";
$result8 = mysql_query($anavathmisi_table_c,$connection);
τρέχω το παρακάτω κάνει σωστά το update. Τι κάνω λάθος;
$anavathmisi_table_c ="
UPDATE table_c
SET ep_1=2
WHERE idNo='$update'
";
$result8 = mysql_query($anavathmisi_table_c,$connection);
-- Τη μεταβλητή $previous_1 την κάνω κανονικά echo και πέρνει τιμή
-- Έχω δοκιμάσει τη μεταβλητή χωρίς ' ', με " " , με ; στο τέλος
-- επίσης η επικοινωνία σελίδας και βάσης λειτουργεί μία χαρά , καθώς όλα τα άλλα λειτουργούν

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

update σε βάση

Δημοσίευση από dva_dev » 23 Ιουν 2014 23:36

ioannisls έγραψε:τρέχω το παρακάτω δε κάνει τπτ
Δοκίμασε κάπως έτσι:

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

$anavathmisi_table_c ="
		UPDATE table_c
		SET ep_1='$previous_1'
		WHERE idNo='$update'
		";
	$result8 = mysql_query($anavathmisi_table_c,$connection);

if ($result8 === false)
{
    echo 'mysql error: ', mysql_errno($connection) . ": " . mysql_error($connection),"\n";
    die($anavathmisi_table_c);
}

Τουλάχιστον όταν δεν γίνεται το update να βλέπεις με τι μήνυμα χτυπάει η βάση και σε ποιό query ακριβώς.

Το πεδίο ep_1 τι τύπου δεδομένα κρατάει;

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

update σε βάση

Δημοσίευση από alou » 24 Ιουν 2014 00:21

dva_dev έγραψε:
Το πεδίο ep_1 τι τύπου δεδομένα κρατάει;
Αυτό πήγα να πω και εγώ, προφανώς int για να παίξει σωστά το παράδειγμα με τον αριθμό που είπε, όμως φανταζόμουν πως το $var = '65' θα γινόταν typecasting αυτόματα από την mySql αν χρειάζεται... πιθανώς δεν ισχύει και μια δοκιμή με

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

SET ep_1='(int)$previous_1' 
ίσως βγάλει κάποιο συμπέρασμα.

ioannisls
Δημοσιεύσεις: 83
Εγγραφή: 11 Ιαν 2012 15:50
Επικοινωνία:

update σε βάση

Δημοσίευση από ioannisls » 24 Ιουν 2014 01:23

έχουμε και λέμε οι τιμές που ήθελα να κάνω αναβάθμιση ήταν με πολλά δεκαδικά. με int δεν γινόταν τπτ (το οποίο και είχα) αλλά με varchar όλα επιδιορθώθηκαν.

Thanks για την βοήθεια.
http://luckyweek.eu/
Στατιστικά για το στοιχηματικό ποδόσφαιρο και τα τυχερά παιχνίδια

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

update σε βάση

Δημοσίευση από dva_dev » 24 Ιουν 2014 01:41

αν αυτό που θέλεις να κρατήσεις είναι αριθμοί τότε το varchar είναι λάθος επιλογή.

ioannisls
Δημοσιεύσεις: 83
Εγγραφή: 11 Ιαν 2012 15:50
Επικοινωνία:

update σε βάση

Δημοσίευση από ioannisls » 24 Ιουν 2014 10:31

το γνωρίζω ότι το varchar είναι λάθος, αλλά το θέμα είναι ότι αν το βάλω int μου την μηδενίζει τη τιμή.
http://luckyweek.eu/
Στατιστικά για το στοιχηματικό ποδόσφαιρο και τα τυχερά παιχνίδια

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

update σε βάση

Δημοσίευση από alou » 24 Ιουν 2014 11:30

Ναι γιατί είναι string η μεταβλητή σου, κάνε την μετατροπή πριν κάνεις το query, με number_format μάλλον καλύτερα

Απάντηση

Επιστροφή στο “Βάσεις Δεδομένων και SQL - γενικά”

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

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