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

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

ali_napso 11-05-06 19:50

צריך עזרה בPHP בעבודה מול SQL
 
נגיד יש לי את המשתנה
id
ואני רוצה להציב אותו ב

$query = mysql_query("SELECT * FROM Topics WHERE id=1");

כאילו במקום ה 1 יהיה הערך של המשתנה שלי

תודה לכל העוזרים

TAsraf 11-05-06 19:57

PHP קוד:

$id $_GET["id"];
if(!
$id)
{
echo 
"לא צויין ID";
}
$query mysql_query("SELECT * FROM Topics WHERE id=$id"); 

עכשיו שיכנסו page.php?id=1
אז זה יעשה יקרא מהID מספר 1..
ואם יעשו
page.php?id=
כאילו בלי כלום אחרי ה"=" אז זה ירשום "לא צויין ID"
וכו'

lalamen 11-05-06 19:57

אם אתה רוצה לקבל את המשתנה דרך כתובת אינטרנט דוגמא hosts.co.il/news.php?id=1
תעשה

PHP קוד:

$id $_GET["id"];
$query mysql_query("SELECT * FROM Topics WHERE id=$id"); 


אם אתה רוצה דרך משתנה שאתה קבעת תעשה ככה:

PHP קוד:

$id 1;
$query mysql_query("SELECT * FROM Topics WHERE id=$id"); 


adiga000 11-05-06 20:42

כבר אמרו מעליי.
אני אישית ממליץ על הדך של GET
$id = $_GET["id"];
$query = mysql_query("SELECT * FROM Topics WHERE id=$id");

-VladK- 12-05-06 05:07

ציטוט:

נכתב במקור על ידי adiga000
כבר אמרו מעליי.
אני אישית ממליץ על הדך של GET
$id = $_GET["id"];
$query = mysql_query("SELECT * FROM Topics WHERE id=$id");

כן אבל ככה אם לא צויין ID אז מאיפה אתה רוצה שהSQL יקח את מה שצריך? מהמשתנה ID?
אני אישית משתמש בISSET אבל כול אחד עובד איך שנוח לו...

adiga000 12-05-06 07:36

תראה אני אמרתי בכללי..
זה הדרך בכללי.
צמיד אפשר להוסיף תנאים אם יש אם אין אם ככה ואם ככה

RS324 12-05-06 12:08

מישהו ממכם שמע פעם על קצת בדיקות אבטחה ??

מה לגבי addslashes() ?

מה קורה אם לפי הדרך שלכם אני מכניס
קוד:

news.php?id=1,EVILCODE
תזכרו אף פעם לא לסמוך על המשתמש !!!

ומה קורה אם לדוגמא אני מכניס את זה ככה
קוד:

news.php?id=gg
או ככה ?


קוד:

news.php?id=1.34
תמיד צריך לבדוק את ה INPUT שאנחנו מקבלים ולא לסמוך על המשתמש...

מה קורה אם זה ככה :
קוד:

news.php?id=  2
תחשבו על כל הדברים האלה..

-VladK- 13-05-06 05:37

אתה יכול להסביר לי כיצד אני יכול למנוע את זה?

BlueNosE 13-05-06 09:29

כן, עושה בדיקת is_numbric למספר, ו/או עושה בדיקת is_int למספר.

-VladK- 13-05-06 09:32

תודה! אני רואה שיש סיבה טובה לזה שאתה בהיכל התהילה


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

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