הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [בעיה] שגיאת תחביר - MYSQL. (https://hosts.co.il/forums/showthread.php?t=18445)

miniature 26-03-06 12:22

[בעיה] שגיאת תחביר - MYSQL.
 
השאילתא:
PHP קוד:

@mysql_query("INSERT INTO user(username,password,email,first_name,last_name,info,signup_date) VALUES('$username','$db_password','$email','$first_name','$last_name','$info',now())")  or die (mysql_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 'user(username,password,email,first_name,last_name,info,signup_d
לא הבנתי מה הבעיה ??..

Cool_DuDu 26-03-06 12:30

אתה עושה את זה על שרת או אצלך במחשב? כי לדעתי זה על המחשב שלך וזאת הבעיה

miniature 26-03-06 12:39

על שרת פרטי של חברת HostAtOnce אם זה כל כך חשוב.

Cool_DuDu 26-03-06 12:50

פשואט הייתה לי הבעיה בשרת במחשב שלי
למה שמת בהתחלה @?

miniature 26-03-06 12:51

ציטוט:

נכתב במקור על ידי Cool_DuDu
פשואט הייתה לי הבעיה בשרת במחשב שלי
למה שמת בהתחלה @?

אם שמים @ במקרה ואירעה שגיאה הקוד יפסיק לרוץ.

eLad 26-03-06 12:58

אם אני לא טועה user זו מילה שמורה ושים רווח בין שם הטבלה לסוגריים

miniature 26-03-06 13:03

תודה.
הבעיה היתה באמת הרווח בין הסוגריים לשם הטבלה.

BlueNosE 26-03-06 13:19

user היא לא מילה שמורה.

שמח שהצלחת =]
בפעם הבאה תנסה לשמור על SQL חוקי [``, רווחים וכו'] (אתה תמיד יכול להריץ פקודה בphpmyadmin ואז לבטל ולהעתיק את הקוד)
יומטוב.

eLad 26-03-06 13:30

ציטוט:

נכתב במקור על ידי BlueNosE
user היא לא מילה שמורה.

שמח שהצלחת =]
בפעם הבאה תנסה לשמור על SQL חוקי [``, רווחים וכו'] (אתה תמיד יכול להריץ פקודה בphpmyadmin ואז לבטל ולהעתיק את הקוד)
יומטוב.

השיטה היא לא להריץ את השאילתא מיליון פעם ב EM כדי לראות מה נכון ומה לא.

השיטה היא להדפיס את השאילתא ואז לראות מה דפוק/חסר בה.

ובכלל, שמות שדות וטבלאות עדיף לעטוף בסוגריים מרובעות (למניעת מילים שמורות), למה לעטוף אותם בגרש רק אלוהים יודע.. |Rolleyes|

miniature 26-03-06 13:31

ציטוט:

נכתב במקור על ידי eLad
השיטה היא לא להריץ את השאילתא מיליון פעם ב EM כדי לראות מה נכון ומה לא.

השיטה היא להדפיס את השאילתא ואז לראות מה דפוק/חסר בה.

ובכלל, שמות שדות וטבלאות עדיף לעטוף בסוגריים מרובעות (למניעת מילים שמורות), למה לעטוף אותם בגרש רק אלוהים יודע.. |Rolleyes|

בשביל מה להחזיק את ה SHIFT סתם? ;P

miniature 26-03-06 15:23

אם כבר פתחתי נושא על זה, קרתה לי שגיאה עם עוד שאילתא:
PHP קוד:

@mysql_query("ALTER TABLE 'users' CHANGE 'user_level' ENUM( '0', '1', '2', '3' ) NOT NULL DEFAULT '3'") or die (mysql_error()); 

..?!

LosNir 26-03-06 17:59

אם אני לא טועה ALTER זה למחוק טבלה *-8
תנסה UPDATE

miniature 26-03-06 20:54

ציטוט:

נכתב במקור על ידי LosNir2
אם אני לא טועה ALTER זה למחוק טבלה *-8
תנסה UPDATE

עשיתי שאילתת MYSQL למה שאני רוצה בתוך המסד WEB וזה עשה לי טוב עם ALTER, ומשום מה כאן לא..

BlueNosE 27-03-06 07:50

ALTER זה לעדכון טבלה, UPDATE זה לעדכון נתונים בטבלה.

אחי תנסה להוריד את ה'' מהמספרים- כי הם מספרים ולא מחרוזות טקסט..

miniature 27-03-06 17:30

עדיין אותה שגיאה..

BlueNosE 27-03-06 17:51

PHP קוד:

@mysql_query("ALTER TABLE `users` CHANGE 'user_level' ENUM( 0 , 1 , 2 , 3 ) NOT NULL DEFAULT 3") or die (mysql_error()); 

אותה שגיאה? תראה אותה פה..

miniature 27-03-06 18:03

השגיאה:
קוד:

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 ''users' CHANGE 'user_level' ENUM( '0', '1', '2', '3' ) N

BlueNosE 27-03-06 18:52

ציטוט:

נכתב במקור על ידי miniature
השגיאה:
קוד:

syntax to use near ''users' CHANGE 'user_level' ENUM( '0', '1', '2', '3' ) N

ציטוט:

נכתב במקור על ידי BlueNosE
PHP קוד:

@mysql_query("ALTER TABLE `users` CHANGE 'user_level' ENUM( 0 , 1 , 2 , 3 ) NOT NULL DEFAULT 3") or die (mysql_error()); 


תנסה את זה.

miniature 27-03-06 19:11

ציטוט:

נכתב במקור על ידי BlueNosE
תנסה את זה.

עדיין אותה שגיאה..

BlueNosE 27-03-06 19:30

קוד:

ALTER TABLE `users` CHANGE `user_level` `user_level` ENUM( '0', '1', '2', '3' ) NOT NULL DEFAULT '3'
תהרוג אותי אם לא פועל OO"
פשוט שכחנו לכתוב את השם המחודש של הטבלה, שאמור להיות אותו שם (בחלק של ה`user_level` `user_level` )

miniature 27-03-06 20:58

:qqb009: לא עובד..

miniature 28-03-06 02:10

אני חושב שהצלחתי..

עריכה:
לא הצלחתי =/
משום מה במסד השאילתא עובדת, ופה לא =/

BlueNosE 28-03-06 12:54

תבדוק קישורית של MYSQL, יכול להיות שכבר שמת mysql_close לא שמת לב..

miniature 29-03-06 14:51

שלילי, mysql_close שמתי רק לאחר השאילתא.

BlueNosE 29-03-06 15:09

תביא לפה את כל הקוד מהרגע שאתה מתחבר למסד..

miniature 29-03-06 21:25

פתרתי את הבעיה! (שים לב לגרשים):
PHP קוד:

ALTER TABLE `usersCHANGE `user_level` `user_levelENUM'0''1''2''3' NOT NULL DEFAULT '3' 


BlueNosE 29-03-06 21:56

מה שונה ממה שאני רשמתי?
(תרשום את הקוד כציטוט ותדגיש את התוספת שלך)

miniature 29-03-06 22:01

עכשיו שאני מסתכל אותו דבר :D
כנראה אני לא העתקתי אותו טוב.. חח


כל הזמנים הם GMT +2. הזמן כעת הוא 18:54.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ