2012-03-12 72 views
0

我可能會做一些白癡的錯誤,但我無法弄清楚。我有一些值來自HTML和想插入到MySQL數據庫。問題是,同樣的查詢在常規php文件(包括其他查詢)中無法正常工作,但是當我嘗試使用獨立的php文件時,它的確如此。這裏是代碼的樣本:mysql查詢不適用於不同的文件-php

$sql15="insert into body 
      (Article_ID, Article_Title) 
      values 
      ('$article_id', '".$_POST['Article_Title']."') "; 
    mysql_query($sql15); 

正如我所說,同樣的代碼工作的時候,我只是這個片段複製到一個新的PHP文件,它工作順利..你看,有20+插入相同的PHP,因爲有25 +表,但數據並不多。順便提一下,前14個查詢和後7個查詢確實有效。 你有什麼想法嗎?

+2

清理用戶輸入!見[PHP手冊](http://php.net/manual/en/function。mysql-real-escape-string.php) – Czechnology 2012-03-12 15:15:26

+0

你收到哪個錯誤?檢查它,並請給我們請 – Marco 2012-03-12 15:16:51

+0

@ Czechnology ..好吧,我正在嘗試自己。開發步驟還沒有完成(因爲這個問題)。 Marco ..根本沒有錯誤。 – teutara 2012-03-12 15:17:11

回答

1

有一些事情要檢查和做。

  • Sanitize user input
    "('$article_id', '".mysql_real_escape_string($_POST['Article_Title'])."')";
    您還可能要檢查如果該值是你所期望的。

  • 您的$article_id是否正確?Article_ID

  • 您的表名和列名是否正確?

  • 檢查錯誤:


$res = mysql_query($sql15); 
if (!$res) 
    echo mysql_errno($link) . ": " . mysql_error($link); 
  • 向我們展示你完整的查詢:
    echo $sql15;
+0

好吧,謝謝..但是當我在另一個php文件中使用非常相同的查詢時,它的工作原理如何? – teutara 2012-03-12 15:31:58

+0

那麼,這是「簡單」 - 你做了不同的事情。在查詢中使用它們之前,您可以修改變量('$ article_id'或'$ _POST ['Article_Title']'),或者以不同方式初始化數據庫連接。或者是其他東西。這就是調試的目的 - 一步一步地進行調查,直到找出或在這裏發佈更多代碼。 – Czechnology 2012-03-12 15:37:32

0

首先,我會建議你WR如下所示的插入查詢

$sql15="insert into body SET Article_ID = '$article_id', Article_Title = '".$_POST['Article_Title']."'"; 
echo $sql15; 
mysql_query($sql15); 

這樣每次當您向數據庫添加新列時,您都可以輕鬆地更改插入查詢。迴應您的查詢並在瀏覽器中查看它。在它似乎o.k然後複製它並將其粘貼到您的phpmyadmin下的SQL部分(請參閱您選擇適當的數據庫)並運行它。如果一行插入成功,那麼你的查詢就沒事了。

我希望這會對你有所幫助。

0
$sql15="insert into body 
      (Article_ID, Article_Title) 
      values 
      ('$article_id', '".$_POST['Article_Title']."') "; 
    mysql_query($sql15) or die(mysql_error()); 

使用像這樣你會得到錯誤。那麼你會發現問題

+0

感謝Vijayan,我在迴應錯誤,但我不知道如何,爲什麼,但沒有任何錯誤。也許我應該檢查我的PHP安裝,?? – teutara 2012-03-12 15:33:34

0

我認爲使用mysql_real_escape_string可能會解決您的問題。我還建議您將表單數據存儲在一個字符串中。

$ article_title = mysql_real_escape_string($ _ POST ['Article_Title']);

$ sql15 =「插入到體

 (Article_ID, Article_Title) 
     values 
     ('$article_id', '$article_title') "; 
mysql_query($sql15) or die(mysql_error());