我不知道为什么我的查询失败了。 这是代码:
<?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
答案 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
然后我们可以帮助您解决语法错误。