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

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

X-T 29-05-07 15:50

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

sUP 29-05-07 17:13

זה מוסיף סלאשים לפני " ו '

Daniel 29-05-07 17:30

כמו ש-sup אמר, רק אני חייב להגיד לך,
מן הסתם-הפונקציה הזאת הכרחית.

כל דבר אתה יכול להחליף.
את sort, לעשות פונקציה עם באבל sort.
str_replace-פשוט זה בודק האם יש רצף כמו שכתבת.
echo-print
preg_replace-פשוט הרבה עבודה ב-str_replace.

כמעט הכל אפשר להחליף-אבל הרעיון שהם עושים את זה הכי יעיל

X-T 29-05-07 17:31

ואיך נעשה השימוש ב mysql_real_escape_string ?

Daniel 29-05-07 17:49

$string = mysql_real_escape_string($string);

X-T 29-05-07 18:21

ציטוט:

נכתב במקור על ידי MasterT (פרסם 488227)
$string = mysql_real_escape_string($string);

בטוח? לא חייב להכניס את זה עם ה QUERY? או שאני יעשה את זה ויכניס את המשתנה ישר עם הפונקציה עצמה?

Daniel 29-05-07 18:51

אפשר עם התחברות למסד נתונים(כדי לבצע תאימות עם ה-mySQL), אבל 90% מהסיכויים שלא תצטרך.

RS324 30-05-07 00:25

ציטוט:

נכתב במקור על ידי sUP (פרסם 488191)
זה מוסיף סלאשים לפני " ו '

ציטוט:

נכתב במקור על ידי MasterT (פרסם 488274)
אפשר עם התחברות למסד נתונים(כדי לבצע תאימות עם ה-mySQL), אבל 90% מהסיכויים שלא תצטרך.

לגבי SUP מה שאמרת זה mysql_escape_string

MASTER-T שטויות במיץ.... אתה חייב שיהיה חיבור פעיל למסד

הסיבה :

mysql_real_escape_string מוסיף סלאשים תוך כדי שימוש בקידוד שפעיל בחיבור ל MYSQL

ככה שבשביל להשתמש בה, חייב חיבור.

כל מה שצריך זה לקרוא :

http://il2.php.net/mysql_real_escape_string

קוד:

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier] )

Escapes special characters in the unescaped_string, taking into account the current character set of the connection so that it is safe to place it in a mysql_query(). If binary data is to be inserted, this function must be used.

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.


sUP 30-05-07 01:04

גבי SUP מה שאמרת זה mysql_escape_string

אז מה ההבדל בין עם real או בלי ?
עדיין לא הצלחתי להבין

Daniel 30-05-07 04:22

ציטוט:

נכתב במקור על ידי RS324 (פרסם 488459)
לגבי SUP מה שאמרת זה mysql_escape_string

MASTER-T שטויות במיץ.... אתה חייב שיהיה חיבור פעיל למסד

הסיבה :

mysql_real_escape_string מוסיף סלאשים תוך כדי שימוש בקידוד שפעיל בחיבור ל MYSQL

ככה שבשביל להשתמש בה, חייב חיבור.

כל מה שצריך זה לקרוא :

http://il2.php.net/mysql_real_escape_string

קוד:

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier] )

Escapes special characters in the unescaped_string, taking into account the current character set of the connection so that it is safe to place it in a mysql_query(). If binary data is to be inserted, this function must be used.

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.


התכוונתי על הפרמטר השני ($link_identifier)

RS324 30-05-07 09:45

ציטוט:

נכתב במקור על ידי sUP (פרסם 488474)
גבי SUP מה שאמרת זה mysql_escape_string

אז מה ההבדל בין עם real או בלי ?
עדיין לא הצלחתי להבין

ציטוט:

נכתב במקור על ידי MasterT (פרסם 488484)
התכוונתי על הפרמטר השני ($link_identifier)

לא, אם לא תציין לו חיבור הוא ישתמש בחיבור האחרון שקיים,

אם אתה עובד עם כמה חיבורים אתה יכול להגיד לו באיזה חיבור להשתמש

אם לא כתבת כלום אז הוא בכל מקרה ישתמש בחיבור שכבר קיים

SUP = ה REAL אומר לו להשתמש בקידוד של המסד לקידוד של התווים.

MASTERT - לא מאמין לי... תעשה פעולה פשוטה תקח מחרוזת ותפעיל עליה את הפונקציה
ותנסה להוציא לפלט ואל תתחבר למסד לפני. ותראה מה זה כותב לך.

Daniel 30-05-07 11:06

ציטוט:

נכתב במקור על ידי RS324 (פרסם 488516)
לא, אם לא תציין לו חיבור הוא ישתמש בחיבור האחרון שקיים,

אם אתה עובד עם כמה חיבורים אתה יכול להגיד לו באיזה חיבור להשתמש

אם לא כתבת כלום אז הוא בכל מקרה ישתמש בחיבור שכבר קיים

SUP = ה REAL אומר לו להשתמש בקידוד של המסד לקידוד של התווים.

MASTERT - לא מאמין לי... תעשה פעולה פשוטה תקח מחרוזת ותפעיל עליה את הפונקציה
ותנסה להוציא לפלט ואל תתחבר למסד לפני. ותראה מה זה כותב לך.

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


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

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