2012-03-12 75 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());