2014-09-20 78 views
-2

我正在使用PHP文件中的sql請求,但我遇到了問題。我GET fonction作品:SQL更新函數

if(isset($_POST['week']) && !empty($_POST['week']) && isset($_POST['location']) && !empty($_POST['location'])) 
    { 
     $week = $_POST['week']; 
     $location = $_POST['location']; 
     $sql = 'SELECT * 
     FROM myDataBaseName 
     WHERE myDataBaseName_week='.$week.' 
     AND myDataBaseName_location="'.$location.'"'; 
    } 

我的更新功能不看工作:

if (isset($_POST['week']) && !empty($_POST['week']) && isset($_POST['location']) && !empty($_POST['location']) && isset($_POST['number']) && !empty($_POST['number'])) 
    { 
     $week = $_POST['week']; 
     $location = $_POST['location']; 
     $numberForUpdate = $_POST['number']; 

     $sql = 'UPDATE * 
     FROM myDataBaseName 
     SET myDataBaseName_numbers ='.$numberForUpdate.' 
     WHERE myDataBaseName_week='.$week.' 
     AND myDataBaseName_location="'.$location.'"'; 
    } 

誰能幫我得到一個正確的更新功能嗎?

謝謝!

+0

你應該考慮在連接前使用mysqli_real_escape_string'$周= $ _ POST [ '周'];'入'$周= mysqli_real_escape_string($ _ POST [ '周']);' – 2014-09-20 13:36:53

+0

'UPDATE myDataBaseName SET myDataBaseName_numbers ='。 $ numberForUpdate「。 WHERE myDataBaseName_week ='。$ week。' AND myDataBaseName_location =「'。$ location。'」'; – 2014-09-20 13:36:59

+0

語法爲'UPDATE SET SET ...',而不是'UPDATE * FROM SET SET ...' - 在打開'<?php'標記後立即向文件頂部添加錯誤報告 'error_reporting (E_ALL); ini_set('display_errors',1);'看看它是否產生任何東西。 – 2014-09-20 14:21:07

回答

1

它應該是:

$sql = 'UPDATE myDataBaseName 
     SET myDataBaseName_numbers ='.$numberForUpdate.' 
     WHERE myDataBaseName_week='.$week.' 
     AND myDataBaseName_location="'.$location.'"'; 

,而不是

$sql = 'UPDATE * 
     FROM myDataBaseName 
     SET myDataBaseName_numbers ='.$numberForUpdate.' 
     WHERE myDataBaseName_week='.$week.' 
     AND myDataBaseName_location="'.$location.'"'; 

Reference for update in MySQL

但是你需要知道它不是更新的數據安全的方法。您應該使用prepared statements來防止SQL注入,這裏的數據可以是用戶在表單中輸入的任何內容。

+0

它看起來沒有更多的工作,這就是爲什麼我使用* From。我認爲準備好的聲明不是強制性的,因爲這些請求都填充了智能手機應用程序。我檢查了正確的填寫到我的應用程序代碼 – user1833903 2014-09-20 13:51:02

+0

@ user1833903如果您沒有顯示任何錯誤,很難說什麼不起作用。如果您確定這是SQL錯誤,您應該使用http://sqlfiddle.com/創建您的數據庫結構和數據並編輯問題 – 2014-09-20 18:06:40

+0

它正在工作。我不知道爲什麼當我把我的導航器中的網址與第一個功能,而不是第二個,但在應用程序的作品! – user1833903 2014-09-20 20:59:56