2009-05-29 53 views
0

我有一個問題,嘗試添加使用2所列出的記錄。 我有一個名爲Urls的表,它包含url的詳細信息。我有一個名爲category的表填充下拉列表,我有另一個名爲publishers的表填充另一個drop list。添加2名名單關聯表

  $query = 'INSERT INTO url_associations (url_id, url_category_id, approved, url_publisher_id) VALUES '; 
     foreach ($_POST['types'] as $v){ 
      $query .= "($uid, $v, 'Y', $k), "; 
     } 
     $query = substr ($query, 0, -2); // Chop off the last comma and space. 

     $result = @mysql_query ($query); // Run the query. 

     if (mysql_affected_rows() == count($_POST['types'])) { // Query ran OK. 

      echo '<p><b>Thank you for your submission!</b></p>'; 
      $_POST = array(); // Reset values. 

     } else { // If second query did not run OK. 

上面的代碼允許我使用類別下拉列表ADDD數據,但是當我嘗試將url_publisher_id添加爲「海報」爲$ K I不斷收到錯誤,在我的解析。如果有人能明白我想實現你的幫助將受到歡迎

回答

0

我已經增加了一個額外的foreach陣列($ _POST [海報]爲$ K)

//,所以它讀取

「的foreach($ _POST [類型]爲$ V) 的foreach($ _POST [海報]爲$ K){`

,它已完全執行。

感謝您的幫助。

肖恩

1

如果你的$ķ變量的值以外的任何其他的整數或浮點數,因爲它需要周圍的引號,你會得到一個錯誤,當你」重新建立SQL INSERT語句:

$query .= "($uid, $v, 'Y', '$k'), "; 

注意:在您的示例中有一些主要的安全問題。如果您將用戶輸入從$ _POST放入您的SQL而不轉義它,您可以讓用戶運行他們想要在您的數據庫上運行的任何SQL命令。

+0

謝謝你,但我的問題是在聲明變量$ķ 在代碼$ _ POST [「類型」]爲$ v.Decalres類別ID「類型」爲$ V 我如何做url_publisher_id與變量'posters'相同爲$ k。 我已經嘗試添加到該行以包含url_publisher_id但沒有任何成功。 現在我的錯誤是未定義的變量k,然後導致一個不正確的整數值。 我在嘗試decalare k變量時遇到問題。 謝謝 – Ddywalgi 2009-05-29 13:42:06