查询是空的错误

时间:2012-06-10 12:31:55

标签: php mysql

如果我提交在错误行中生成的下面的SQL表明它运行正常,但在PHP中它告诉我“查询是空的”。

知道为什么吗?

例如,生成的字符串如下:

update LOTS set packageID = "" where packageID ='AS0610'

如果我手动提交此查询,因为我说没有错误。我试过用“”代替'',似乎没有解决问题。

<?


$delID = stripslashes($_COOKIE['delID']);
$delType = $_COOKIE['delType'];
$conn=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
echo $conn;


if($delType=="packageID"){
    $sqlLots = 'update LOTS set packageID = "" where packageID ='.$delID;

    echo $sqlLots;

    //returns "Quer was empty" on below line.
    $result = mysql_query($sqlLOTS) or die(mysql_error());

    $sqlLOTS = 'delete from PACKAGES where '.$delType.' = '.$delID;

}else{
    $sqlLOTS = 'delete from LOTS where '.$delType.' = '.$delID;
}


$result = mysql_query($sqlLOTS); //or die(mysql_error());
echo "<html>";
echo "<script>";
echo "window.location = 'http://www.redIR.info/manage/index.php'";
echo "</script>";
echo "</html>"; 

echo 'a'.$result;



     ?>

3 个答案:

答案 0 :(得分:3)

您使用的是2个变量 - $sqlLOTS $sqlLots

您应该使用1个变量名称,并在创建查询的整个过程中使用它。

此外,我将在if语句开始之前定义您决定使用的变量。

我还会考虑使用PDO库和准备好的语句。

答案 1 :(得分:1)

运行查询时使用$sqlLOTS

$result = mysql_query($sqlLOTS)

但是,您正在设置$sqlLots

$sqlLots = 'update LOTS set packageID = "" where packageID ='.$delID;

变量名称区分大小写,因此您有两个单独的变量,并且在运行查询时$sqlLOTS确实为空。

答案 2 :(得分:0)

变量名称区分大小写:

$result = mysql_query($sqlLOTS) or die(mysql_error());

您正在使用不同的名称初始化变量,并使用不同的变量作为mysql_query()参数。你需要使用$ sqlLots。

或者在此行中将$ sqlLots更改为$ sqlLOTS:

$sqlLots = 'update LOTS set packageID = "" where packageID ='.$delID;