查询是空PHP错误

时间:2013-05-11 19:26:31

标签: php mysql e-commerce

我正在尝试使用MySQL构建一个购物车。当我运行此代码时,我不断收到此错误“查询为空”。请帮助我尝试了几个方法,比如将变量放在字符串中而不是连接它。

<?php ob_start(); ?><?php require_once("../include/membersite_config.php"); ?>
<?php 
    require('../products_reloaded/config.php');
    session_start();

            $user = $_REQUEST['user'];
            $user = mysql_real_escape_string($user);
            $itemNum = $_REQUEST['itemNum'];
            $itemNum = mysql_real_escape_string($itemNum);
            $quantity = $_POST['quantity'];
            $quantity = intval($quantity);
            $CheckForExistence = mysql_query("select * from cart where user = '$user' and p_number = '$itemNum'" );
            $alreadyExistsChecker = mysql_num_rows($CheckForExistence);
            if($alreadyExistsChecker >= 1)
            {
                $quantity +=1;
                echo "this is equal to $alreadyExistsChecker";
            }

            if($alreadyExistsChecker == 0)
            {
                $getQuery = mysql_query("select * from product where p_number = '$itemNum'");


                while($row = mysql_fetch_array($getQuery))
                {
                    $name = $row['p_name'];
                    $image = $row['p_url'];
                    $price = $row['p_price'];
                }
                $name = mysql_real_escape_string($name);
                $image = mysql_real_escape_string($image);
                $price = intval($price);
                $query = mysql_query('insert into cart values('.$user.','.$itemNum.','.$name.', '.$image.','.$quantity.', '.$price.')'); 
                $result = mysql_query($query);
                if (!$result) {
                    print "An error occured: " . mysql_error() . "\n";
                }

            }

            header('http://www.definitionxjm.com/shopping/viewCart.php');



?>

2 个答案:

答案 0 :(得分:0)

你尝试用这条线做什么?

$result = mysql_query($query);

只需删除它并将上面的行更改为

$result = mysql_query('insert into cart values('.$user.','.$itemNum.','.$name.', '.$image.','.$quantity.', '.$price.')'); 

[编辑]

顺便说一下。您忘记了查询中导致发生sql错误的"(引号),导致$query = false(请参阅manual)。 $queryfalse)然后转换为字符串,生成''(空字符串),您传递给mysql_query并生成&#34;查询为空& #34; -Message,因为它应该发送一个空查询。

答案 1 :(得分:-1)

它也可能意味着考虑的表是空的。当“DELETE FROM table_name where;”时出现这种情况。用来。这里,如果表“table_name”没有数据,则它不能删除任何内容,因此它显示一条错误,指出查询为空。