php insert into query

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

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

Απάντηση
invader7
Δημοσιεύσεις: 78
Εγγραφή: 24 Ιαν 2009 22:02

php insert into query

Δημοσίευση από invader7 » 18 Ιαν 2011 04:57

Γεια σας, έχω ένα πρόβλημα εδώ. Ενώ περνάει στη βάση σωστά τα δεδομένα μου εμφανίζει και σφάλμα

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

$sql = mysql_query("insert into users (realname,phone,username,password) values ('$_POST[realname]',$_POST[phone],'$_POST[username]','$_POST[pass]')") ;

if (!mysql_query($sql,$connectiondb))
  {
  die('Error: ' . mysql_error());
  }
όλα τα πεδία στη βάση είναι varchar. στο $_POST[phone] έβγαλα τα ' ' γιατί είναι αριθμός.
και μου λέει

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 '1' at line 1

use near '1' at line 1 αναφέρεται στην τιμή $_POST[phone] το textbox έχει τον αριθμό 1 μέσα

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

php insert into query

Δημοσίευση από korgr » 18 Ιαν 2011 09:09

Άσχετα αν δίνεις αριθμό, αφού το πεδίο της βάσης είναι varchar θα πρέπει να βάλεις εισαγωγικά.
Επίσης όταν έχεις error, πριν εκτελέσεις το query, βάζε μια var_dump($sql) και βλέπε πως ακριβώς διαμορφώνεται το query σου με τις μεταβλητές. Θα σε βοηθήσει πολύ στο debuging.

invader7
Δημοσιεύσεις: 78
Εγγραφή: 24 Ιαν 2009 22:02

php insert into query

Δημοσίευση από invader7 » 19 Ιαν 2011 00:21

έβαλα και εισαγωγικά το λάθος μένει ίδιο. αυτό με το var_dump δεν το πολύ κατάλαβα. έβαλα πριν την if και μου έβγαλε output bool(true)

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

php insert into query

Δημοσίευση από dva_dev » 19 Ιαν 2011 01:12

invader7 έγραψε:Γεια σας, έχω ένα πρόβλημα εδώ. Ενώ περνάει στη βάση σωστά τα δεδομένα μου εμφανίζει και σφάλμα

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

$sql = mysql_query("insert into users (realname,phone,username,password) values ('$_POST[realname]',$_POST[phone],'$_POST[username]','$_POST[pass]')") ;

if (!mysql_query($sql,$connectiondb))
  {
  die('Error: ' . mysql_error());
  }
όλα τα πεδία στη βάση είναι varchar. στο $_POST[phone] έβγαλα τα ' ' γιατί είναι αριθμός.
και μου λέει

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 '1' at line 1

use near '1' at line 1 αναφέρεται στην τιμή $_POST[phone] το textbox έχει τον αριθμό 1 μέσα
Σου περνάει σωστά τα δεδομένα γιατί τρέχεις ένα insert statement.
Μετά σου πετάει λάθος γιατί πας να τρέξεις κάτι που δεν είναι sql statement.

Για δοκίμασε να το κάνεις έτσι

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

$sql = "insert into users (realname,phone,username,password) values ('$_POST[realname]',$_POST[phone],'$_POST[username]','$_POST[pass]')";

if (!mysql_query($sql,$connectiondb))
  {
  die('Error: ' . mysql_error());
  }
To "near '1' at line 1" αναφέρεται στο result που επιστρέφει το πρώτο mysql_query.

invader7
Δημοσιεύσεις: 78
Εγγραφή: 24 Ιαν 2009 22:02

php insert into query

Δημοσίευση από invader7 » 19 Ιαν 2011 01:34

φυσικά.... σε ευχαριστώ πολύ.

Απάντηση

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

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

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