alan2 Δημοσ. 19 Ιουλίου 2013 Δημοσ. 19 Ιουλίου 2013 (επεξεργασμένο) Καλησπέρα,Προσπαθώ με τη φόρμα<form action="insert.php" method="REQUEST">backend - insert new record<br>id: <input type="number" name="id"><br>manufacturer: <input type="text" name="manufacturer"><br>transferrate: <input type="text" name="transferrate"><br>cache: <input type="text" name="cache"><br>size: <input type="text" name="size"><br>RPM: <input type="text" name="RPM"><br>use: <input type="text" name="use"><br>price: <input type="text" name="price"><br>seller: <input type="text" name="seller"><br>detail: <input type="text" name="detail"><br><input type="submit"></form>insert.php: <?php$con=mysqli_connect("localhost","181563","...","...db2");// Check connectionif (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }$sql="INSERT INTO hdd(id, manufacturer,transferrate,cache,size,RPM,use,price,seller,detail)VALUES($_REQUEST[id],'$_REQUEST[manufacturer]','$_REQUEST[transferrate]','$_REQUEST[cache]','$_REQUEST[size]','$_REQUEST[RPM]','$_REQUEST[use]','$_REQUEST[price]','$_REQUEST[seller]','$_REQUEST[detail]')";if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); }echo "1 record added";mysqli_close($con);?> <?php $con=mysqli_connect("localhost","181563","...","..."); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $sql="INSERT INTO hdd(id, manufacturer,transferrate,cache,size,RPM,use,price,seller,detail) VALUES ($_POST[id],'$_POST[manufacturer]','$_POST[transferrate]','$_POST[cache]','$_POST[size]','$_POST[RPM]','$_POST[use]','$_POST[price]','$_POST[seller]','$_POST[detail]')"; if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); } echo "1 record added"; mysqli_close($con); ?> Να περάσω τιμές στυη βάση, αλλα βγάζει συνεχώς λάθη του τύπουError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use,price,seller,detail) VALUES (7,'SamsungSpinpoint','7MB','8 MB','160GB','5400' at line 1;................Tί πηγαίνει στραβά?Το id είναι int ,τα υπόλοιπα varchar. Επεξ/σία 19 Ιουλίου 2013 από alan2
macabre_sunsets Δημοσ. 19 Ιουλίου 2013 Δημοσ. 19 Ιουλίου 2013 Αν όλες οι τιμές είναι varchar, δεν θα έπρεπε να έχει '' στο $_POST[price];
alan2 Δημοσ. 19 Ιουλίου 2013 Μέλος Δημοσ. 19 Ιουλίου 2013 Ναι το διόρθωσα, απλώς εκανα την αλλαγή μετά το Post. Δεν αλλαζει κάτι. edit: το λάθος φαίνεται ήταν η χρήση του use (reserved word)
SpirosLouis Δημοσ. 19 Ιουλίου 2013 Δημοσ. 19 Ιουλίου 2013 Καταρχάς πρέπει να αρχίσεις να χρησιμοποιείς το object-oriented mysqli. --> http://php.net/manual/en/book.mysqli.php θα χρησιμοποιήσεις την mysqli->prepare για να ετοιμάσεις το query σου (με <?> χωρίς τα <>) για τα values. Επιπλέον μετά την bind για να για να βάλεις τα string σου στο query και τέλος να καλέσεις την execute για να εκτελεστεί.(όλα αυτά είναι object oriented άρα θα φτιάξεις ένα αντικίμενο κτλ - δες κάποια παραδείγματα στην php.net και google.) Επιπλέον η φόρμα σου θα πρέπει να έχει method="post". Αν απλά παίζεις στο τοπικό σου δύκτιο δεν πειράζει και να μην κάνεις sanitize τις τιμές που παίρνεις. Αλλά γενικά να το έχεις στο πίσω μέρος του μυαλού σου και καλό είναι να παίρνεις μέτρα ασφαλείας. Αν θες κάποιο παράδειγμα με φόρμα πες μου να σου γράψω ένα.
alan2 Δημοσ. 19 Ιουλίου 2013 Μέλος Δημοσ. 19 Ιουλίου 2013 Γιατί method request; use είχα όνομα πεδίου στο table.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα