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

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

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

Καλησπέρα,
Προσπαθώ με τη φόρμα

<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.

Επεξ/σία από alan2
Δημοσ.

Ναι το διόρθωσα, απλώς εκανα την αλλαγή μετά το Post. Δεν αλλαζει κάτι.



edit: το λάθος φαίνεται ήταν η χρήση του use (reserved word)

Δημοσ.

Καταρχάς πρέπει να αρχίσεις να χρησιμοποιείς το 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 τις τιμές που παίρνεις. Αλλά γενικά να το έχεις στο πίσω μέρος του μυαλού σου και καλό είναι να παίρνεις μέτρα ασφαλείας.

 

Αν θες κάποιο παράδειγμα με φόρμα πες μου να σου γράψω ένα.

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

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

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

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

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

Σύνδεση

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

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