我无法在php5中进行查询

时间:2015-07-16 05:27:45

标签: php mysql

我不知道为什么我的查询失败了。 这是代码:

<?php 

include_once 'conectar.php';

if (isset($_POST['submit'])) {

    $ref = $_POST['ref'];
    echo "ref = ".$ref;

    $query = "
        INSERT INTO `imovelApagado` (
            SELECT * FROM `imovel` 
            WHERE idImovel='$ref'
        )
    ";

    $Qquery = mysql_query($query);
    mysql_query($Qquery) or die (mysql_error().'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS');

    $query1  = "DELETE FROM `imovel` WHERE idImovel='$ref'"; 
    $Qquery1 = mysql_query($query1);
    mysql_query($Qquery1) or die (mysql_error().'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS');
}

?>

打印出来: ref = 2015你的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“1”附近使用正确的语法

ERRO - NOUO FOI POSSIVEL ENVIAR OS DADOS

3 个答案:

答案 0 :(得分:0)

我认为你应该检查imovelApagado的列,当你尝试选择*时,应该匹配imovel。

http://www.w3schools.com/sql/sql_insert_into_select.asp

<?php 

  include_once 'conectar.php';

  if (isset($_POST['submit']))
  {
    $ref=$_POST['ref'];
    echo "ref=".$ref;

    $query="INSERT INTO `imovelApagado` (SELECT * FROM `imovel` WHERE idImovel='$ref')";
    if ($Qquery=mysql_query($query)) {
     die (mysql_error().'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS');
    }

    $query1="DELETE FROM `imovel` WHERE idImovel='$ref'"; 
    if ($Qquery1=mysql_query($query1)) {
      die (mysql_error().'<BR><BR>ERRO - NÃO FOI POSSIVEL ENVIAR OS DADOS');
    }
  }

?>

答案 1 :(得分:0)

至少你应该有两个不同的消息,所以你知道女巫查询是令人厌恶的。

同时检查你是否在imovelApagado中有身份,并确保从你那里选择你没有尝试两次插入相同的标识。

如果可能,还要发布表的结构。检查两个表中的表结构是否相同。

<强>更新 请使用以下代码

def main(x, **kwargs):
    f1(x, **kwargs_for_func(f1, kwargs, True))
    f2(x, **kwargs_for_func(f2, kwargs, True))    

main(1, key1=None)

问题是你有两次你的查询和你第二次交谈的mysql响应是真的= 1

答案 2 :(得分:-2)

我在查询中可以看到的第一个问题是:

你需要使用“{$ variable}”将变量变成php中的字符串

"DELETE FROM `imovel` WHERE idImovel='{$ref}'"; 

但是,如果您可以向我们展示查询,那么更多信息会更好;在赋值变量$ query或$ query1 put:

之后
echo $query

然后我们可以帮助您解决语法错误。