2010-09-15 20 views
1

只是一個快速查詢真的,在我的PHP文件,我有變量從我的HTML表單來的,就像這樣:函數mysql_escape_string在PHP

$companyName = mysql_escape_string($_POST['compName']); 
$AddLine1 = mysql_escape_string($_POST['add']); 
$AddLine2 = mysql_escape_string($_POST['add1']);    
$AddLine3 = mysql_escape_string($_POST['add2']); 

整個劇本,我做了幾個選擇,插入與MySQL語句。我想知道的是,是否可以像上面一樣使用mysql_escape_string,或者每次使用變量時都需要這樣做嗎?

可能是一個非常簡單(或愚蠢)的問題,但我說我會問無論如何。

+1

您可以重複你的'$ companyName','$ AddLine1' ,'$ AddLine2'等變量再次向下放到你的腳本中,因爲這些變量保存了轉義用戶輸入。這是你的意思嗎? – 2010-09-15 13:24:43

回答

2

一次就足夠了,現在$AddLine1-3持有「安全」值

+0

太好了,謝謝。一旦我能夠,我會接受這個正確的答案。 – 109221793 2010-09-15 13:25:12

1

是的,它是足夠做一次。另外,如果$_POST['val']應該是整數,你可以做(int) $_POST['val'],它也是完全安全的。

0

你在使用標準的PHP函數,所以你只能使用mysql_escape_string,那麼你需要使用數據庫查詢。

1

你可能想看看PHP.NET。他們指出:

mysql_escape_string 

已被棄用,應改爲:

mysql_real_escape_string() 

參考:

http://php.net/manual/en/function.mysql-escape-string.php

+0

@Maekins,謝謝你,我會檢查出來的。似乎到目前爲止工作得很好,但對未來很瞭解! – 109221793 2010-09-15 13:39:20