2013-05-11 47 views
1

我想用MySQL建立購物車。當我運行這段代碼時,我總是收到這個錯誤'查詢是空的'。請幫助我已經嘗試了幾種方法,比如將變量放在字符串中而不是連接它。查詢是空的PHP錯誤

<?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'); 



?> 

回答

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並生成「查詢爲空」-Message,因爲它應該是因爲你試圖發送一個空查詢。

+0

謝謝你爲我節省了很多時間和困惑 – 2013-05-12 03:10:02

-1

它也可以表示考慮的表是空的。這種情況出現在「DELETE FROM table_name where;」時用來。這裏如果表「table_name」沒有數據,它不能刪除任何東西,因此它顯示一個錯誤,指出查詢是空的。