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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=61601)

SlipY 05-04-08 17:25

PHP שגיאה
 
הקוד הבא משמש להוצאת המנהלים מהמסד נתונים:
<table border="0" width=100%">
<tr><td width="69%" background="images/img_45.jpg" colspan="2"> <p align="center"><font color="#808080"><span lang="he">מנהלי הקהילה</span></font></td></tr>
<?php
include 'mysql_connect.php';
$sql_query = mysql_query("SELECT * FROM users where access=='1' order by id desc");
while ($rs = mysql_fetch_array($sql_query,MYSQL_ASSOC))
{
?>
<tr>
<span lang="he"><font color="#254975" size="2">
<td><?echo $rs['user_name'];?></td><td><?echo $rs['email'];?></td><td><?echo $rs['icq'];?></td><td><?echo $rs['steam_id'];?></td>
</span>
</tr>
<?}?>
</table>

השגיאה שאני מקבל :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/xsite/domains/x-site.co.il/public_html/xsite/admins.php on line 8

Gal Shafrir 05-04-08 17:28

נסה להחליף את זה:
PHP קוד:

$sql_query mysql_query("SELECT * FROM users where access=='1' order by id desc"); 

בזה:
PHP קוד:

$sql_query mysql_query("SELECT * FROM users where access = 1 order by id desc"); 


SlipY 05-04-08 17:32

:)
 
כל הכבוד..
חחח אני שונא שגיאות כאלה

Kfir.G 05-04-08 22:14

הדרך הכי בטוחה לכתוב את זה היא ככה
PHP קוד:

$sql_query mysql_query("SELECT * FROM `users` where `access` = '1' order by `id` desc"); 


הסבר:
שמות של טבלאות או טורים בתוך ` נתונים בתוך '
:)

Daniel 06-04-08 19:02

ציטוט:

נכתב במקור על ידי Kfir.G | WebPower.co.il (פרסם 621333)
הדרך הכי בטוחה לכתוב את זה היא ככה
PHP קוד:

$sql_query mysql_query("SELECT * FROM `users` where `access` = '1' order by `id` desc"); 


הסבר:
שמות של טבלאות או טורים בתוך ` נתונים בתוך '
:)

הכי בטוחה? כלל וכלל לא. אין כאן שום שינוי בשאילתה - השאילתה תיהיה אותו דבר, ולא תשתנה, ולכן מה שההוא מעלייך הציג, יעבוד בדיוק בדיוק באותו "רמת אבטחה".

Kfir.G 06-04-08 19:32

ציטוט:

נכתב במקור על ידי MasterT (פרסם 621579)
הכי בטוחה? כלל וכלל לא. אין כאן שום שינוי בשאילתה - השאילתה תיהיה אותו דבר, ולא תשתנה, ולכן מה שההוא מעלייך הציג, יעבוד בדיוק בדיוק באותו "רמת אבטחה".

בטוחה מתוך כוונה שהיא אמורה לעבוד לא עד כמה היא בטוחה מפני פורצים וכד'... ולגבי האבטחה במובן שאת התכוונת
PHP קוד:

mysql_real_escape_string(htmlspecialchars($str)); 

מספיק לאבטחה בשביל הsyntax...

Daniel 06-04-08 19:58

ציטוט:

נכתב במקור על ידי Kfir.G | WebPower.co.il (פרסם 621589)
בטוחה מתוך כוונה שהיא אמורה לעבוד לא עד כמה היא בטוחה מפני פורצים וכד'... ולגבי האבטחה במובן שאת התכוונת
PHP קוד:

mysql_real_escape_string(htmlspecialchars($str)); 

מספיק לאבטחה בשביל הsyntax...

*אתה

בטוחה מבחינה שהיא אמורה לעבוד? דווקא לא, גם מי שלפניך כתב משהו שיעבוד. טעות פותח הנושא שכתב == במקום =.

mysql_real_escape_string(htmlspecialchars($str)); , יש הרבה דרכים הרבה יותר נוחות לעשות זאת..... חוץ מזה, שאם עובדים טיפה עם מחלקות(בעיקר, גם בכלל), מריצים לולאה על כל המידע שמתקבל...

Ben Segal 07-04-08 22:29

ציטוט:

נכתב במקור על ידי Kfir.G | WebPower.co.il (פרסם 621333)
הדרך הכי בטוחה לכתוב את זה היא ככה
PHP קוד:

$sql_query mysql_query("SELECT * FROM `users` where `access` = '1' order by `id` desc"); 


הסבר:
שמות של טבלאות או טורים בתוך ` נתונים בתוך '
:)

אתה בטוח במה שאתה אומר?
לא נראה לי שיש הבדל, בשתי הדרכים זה עובד אותו הדבר.

Elad-A 07-04-08 22:50

זה אומנם יעבוד אותו דבר, אך הדרך שכפיר רשם תמנע מהשאילתה להתסבך אם תתעסק עם "מילים שמורות".


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

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