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

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

yagelk 05-06-09 16:13

מה הבעיה בקוד הזה?
 
אני מנסה לעשות הרשמה..עכשיו הקטע קוד הזה בודק אם השם משתמש שנבחר לא תפוס כבר..
על מספרים הקוד עובד מצויין, אבל כשאני רושם באותיות גם אנגליות הוא לא פועל..הוא כותב את השגיאה הבאה:

ציטוט:

Unknown column 'dugma' in 'field list'
אשמח לדעת מה הבעיה ואיך אני פותר אותה..

זה הקוד:
ציטוט:

$res=mysql_query("SELECT user_name from portal_user where user_name = '$user_name' ");
echo $res;

if (mysql_num_rows($res) == 0 ) {
if ($password == $confpass) {

Shay Ben Moshe 05-06-09 16:52

זה נראה שהקוד שהבאת לא שייך בכלל לשגיאה..

daMn 05-06-09 16:56

בעיקרון הקוד שלך מנסה לשלוף/לעדכן/להכניס מאיזשהי טבלה עמודה בשם dugma, ואין לך אותה...

yagelk 07-06-09 10:33

טוב, בעיקרון מה שהקוד אמור לעשות זה לבדוק אם שם המשתמש לא קיים..
הבעיה היא, שכאשר אני כותב שם משתמש במספרים זה עובד טוב
וכשאני כותב משתמש באותיות (dugma) הוא כותב לי את השגיאה הנ"ל..

0xfo7d 07-06-09 14:06

א. את השורה הראשונה תחליף ל:
PHP קוד:

$res=mysql_query("SELECT user_name from portal_user where user_name = '".$user_name."' "); 

ב. למה אתה מדפיס את RES???

OrPol 07-06-09 14:23

ציטוט:

נכתב במקור על ידי yagelk (פרסם 719644)
טוב, בעיקרון מה שהקוד אמור לעשות זה לבדוק אם שם המשתמש לא קיים..
הבעיה היא, שכאשר אני כותב שם משתמש במספרים זה עובד טוב
וכשאני כותב משתמש באותיות (dugma) הוא כותב לי את השגיאה הנ"ל..

אתה אומר לו לבחור שם משתמש מתוך טבלה איפה ששם המשתמש הוא *.
זה אומר שהשם נתון כבר.

אם אתה רוצה לבדוק אם שם המשתמש קיים זה הקוד המתאים:
PHP קוד:

function is_username_exists($username) {
    
$sql "SELECT * FROM users WHERE username='$username'" ;
    
$result mysql_query($sql) ;
    if(
mysql_num_rows($result) > 0) {
        return 
true;
    }else{
        return 
false ;
    }


בהצלחה.

yagelk 07-06-09 19:38

תוודה אחי!

Hanan 07-06-09 21:09

קצת יותר יעיל מאשר למשוך את כל השדות בדאטה בייס - שים לב לשינוי....
PHP קוד:

function is_username_exists($username) { 
    
$sql mysql_query("SELECT id FROM users WHERE lower(username)='".strtolower($username)."'"); 
    
$result mysql_fetch_assoc($sql);
    if(
$result[id]) return true
    else return 
false 



intercooler3819 07-06-09 22:12

ציטוט:

נכתב במקור על ידי Hanan (פרסם 719765)
קצת יותר יעיל מאשר למשוך את כל השדות בדאטה בייס - שים לב לשינוי....
PHP קוד:

function is_username_exists($username) { 
    
$sql mysql_query("SELECT id FROM users WHERE lower(username)='".strtolower($username)."'"); 
    
$result mysql_fetch_assoc($sql);
    if(
$result[id]) return true
    else return 
false 



זה אותו דבר

כיוון שMYSQL זה בDEFAULT נחשב IN-CASE-SENSITIVE אז הקוד של שניכם דיי זהה...|קורץ|

vadimg88 08-06-09 07:37

ממש לא. חנן נתן קוד ששולף רק את ה ID לעומת הקוד הקודם ששלף את כל השדות.

בנוסף, מה זה IN-CASE-SENSITIVE ? אתה מתכוון ל case insensitive ו case sensitive ?


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

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