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

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

DFX-Hosting 09-05-07 10:06

[php] בעיה בבדיקה חוקיות במסד נתונים
 
אוקי אז ככה
נגיד ומישהו נרשם בשם מתמש סיסמה ואימייל עכשיו אני מנסה שהוא יבדוק אם השם הזה קיים במסד אם אם כן אל תיצור אם לא תיצור זה מה שניסיתי וזה לא פועל לי משום מה

PHP קוד:

$name=$_request['name'];
$link mysql_connect('localhost''''');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
$db_selected mysql_select_db('neri');
if (!
$db_selected) {
    die(
'Could not select database: ' mysql_error());
}
$query "SELECT name FROM `users`";
$result mysql_query($query);
if (!
$result) {
    die(
'Query failed: ' mysql_error());
}
/* fetch rows in reverse order */
for ($i mysql_num_rows($result) - 1$i >= 0$i--) {
    if (!
mysql_data_seek($result$i)) {
        echo 
"Cannot seek to row $i: " mysql_error() . "\n";
        continue;
    }

    if (!(
$row mysql_fetch_assoc($result))) {
        continue;
    }

if( 
$row['name'] = $name)
die(
"pick a new name");
}

mysql_free_result($result); 

ומה שזה עושה כל הזמן רושם לי pick a new name כלומר כיאלו תמיד
PHP קוד:

$row['name'] = $name

וזה לא יכול להיות כי הוא מקבל משוה אחר שאין במסד

תודה מראש לעוזרים

בניה 09-05-07 10:34

הצורה בכלל שאתה עובד איתה היא לא טובה.
תעשה ככה:

PHP קוד:

<?php
$name
=$_request['name'];
$link mysql_connect('localhost''''');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
$db_selected mysql_select_db('neri');
if (!
$db_selected) {
    die(
'Could not select database: ' mysql_error());
}
$query "SELECT name FROM `users` WHERE name = '{$name}' LIMIT 1";
$result mysql_query($query);
if (!
$result) {
    die(
'Query failed: ' mysql_error());
}

if(
mysql_num_rows($result) > 0)
    die(
"pick a new name");
mysql_free_result($result);
?>


DFX-Hosting 09-05-07 10:37

תודה רבה הבנתי את הרעיון


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

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