2013-10-10 33 views
1

好的,我有這個表單將他的值發送到PHP文件,PHP文件獲取$ _POST方法中的值。 例如:

$min = $_POST['time_min']; 

現在我想借此varibale,由60乘它,而不是把它交給一個SQL函數。

我試圖做這樣的事情:

$time = ($min * 60) + $sec; 
$result = update_video($time); 

並在SQL:

$query = "UPDATE video SET 
time='".$time."' 
WHERE video_id='".$video_id."' 
"; 

,但它只是不會更新。 有什麼建議嗎?

+0

你可以編輯你的帖子,並在這裏添加完整的表單和php代碼? – EhsanT

回答

0

首先,你喜歡的東西

UPDATE video SET 
time='600000' 
WHERE video_id='17' 

最終不過,我認爲這兩個timevideo_id被定義爲INTEGER,所以報價是搞亂你。另外,http://bobby-tables.com/

+0

'Robert'); DROP TABLE學生; - '...太棒了! :-) –

+0

我treid刪除引號,但我得到的是: 注意:數組到字符串轉換 – assaf

+0

我不知道你在哪裏得到一個數組。你可以做'print_r($ time)'和'print_r($ video_id)'嗎? – Amadan

0

看起來$_POST的值是String。你必須先將它投射到Integer

嘗試intval()

$time = (intval($min) * 60) + $sec); // make sure $sec is an Integer as well. 

順便說一句: 看看PDO。您的SQL看起來不安全。

祝你好運!

+0

PHP作爲其設計目標之一(我認爲愚蠢,但目標仍然),程序員應該很少感覺字符串和數字之間的區別,並且他們autoconvert一滴帽子;所以我懷疑缺少鑄造就是問題所在。 – Amadan