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

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

dordahan 01-11-13 19:17

חיפוש בLIKE
 
אהלן אז התחלתי ללמוד קצת PHP ,
פתחתי מסד בשרת שלי , טבלה בשם 'users' עם עמודות בשמות 'username' 'password'

עכשיו בניתי מערכת הרשמה שנרשמים היא מכניסה את השם משתמש והסיסמה שהמשתמש הקיש לטבלה בעזרת INSERT
ומערכת התחברות


עכשיו רציתי לנסות לעשות מערכת חיפוש משתמשים רשומים , אני יודע שצריך להשתמש בצורת SELECT LIKE

רשמתי את הקוד והעמוד לא עולה (זתומרת שהקוד לא תקין שגיאה)
היתי שמח אם מישהו מכם היה יכול לפענח לי את הבעיה בקוד ולהגיד לי מה השגיאה בקוד ?

תודה מראש , זה הקוד:

*יש לציין שהרמה שלי בPHP מאד בסיסית רק שלשום התחלתי ללמוד .

PHP קוד:


<html>
<body>

<?php

$link 
mysql_connect('localhost''leonid''gy7ybunu6');
if (!
$link) {
    die(
'Could Be Connect: ' mysql_error());
    }
    
if (!
mysql_select_db('zadmin_leonid'$link)) {
    die(
'Could not select database: ' mysql_error()) ;
    }
    
        if (isset(
$_POST['username'])) {
            
$username $_POST['username'];
            if (
$username!="") {
            
$result mysql_query (SELECT FROM users where username LIKE '$username'$link) or die('Query failed: ' mysql_error());
            
            if (
$result) {
            echo 
"החיפוש מצא: $username";
            }
            }
            }

            
                
                
                
    
?>
    
    
<form name="input" action="search.php" method="post">
חיפוש משתמש: <input type="text" name="username" value="<?php echo "$username";?>"><br>
<input type="submit" value="חפש כעת">

</body>
</html>


אדיר 01-11-13 20:38

1. תעטוף את השאילתה בגרשיים.
2. אתה לא צריך "LIKE" אתה צריך "=".

dordahan 02-11-13 01:55

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

אשמח אם תגיד לי למה התכוונה שלא צריך להשתמש בLIKE אלא ב=

אדיר 02-11-13 13:22

שאילתת like מיועדת לחיפוש של "איפה ש- x מכיל", ז"א שזה לא בהכרח יהיה שווה אלא זה יכול להיות גם רק חלק מהערך השמור (במקרה הזה זה כן ישלוף רק התאמה מלאה כי לא אמרת לו מאיזה צד הוא יכול להשלים, קרא על זה בדוקומנטציה).

האופרטור "=" שולף רק בהתאמה מלאה וזה היעוד שלו.

מה שעשית עכשיו יעבוד, אבל זאת לא הדרך האידיאלית.

MyDns 02-11-13 16:58

ציטוט:

$result = mysql_query(SELECT * FROM users WHERE username LIKE '%ad');
ככה ברמה הבסיסית מבצעים LIKE

dordahan 02-11-13 17:07

הבנתי והצלחתי , תקנתי והוספתי לולאה

תודה רבה

mayden 05-11-13 01:28

שנת 2013, אנשים עדיין לא התקדמו לפריימוורקים? :-0


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

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