2013-05-11 3 views
1

MySQL을 사용하여 장바구니를 만들려고합니다. 나는이 코드를 실행할 때 'Query is empty'오류를 계속 발생합니다. 문자열을 연결하는 대신 변수를 넣는 것과 같은 여러 가지 작업을 시도하도록 도와주세요.쿼리가 비어 있습니다. 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); 

그냥 삭제하고 위의 줄을 변경

Btw는

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

[편집]로 제한해야한다. 쿼리 내부에 " (따옴표)을 잊어 버리면 SQL 오류가 발생하여 $query = false (manual 참조)이됩니다. $query (false)은 mysql_query으로 전달되는 '' (빈 문자열)의 결과로 문자열로 변환되며 빈 쿼리를 보내려고했기 때문에 "쿼리가 비어 있습니다"라는 메시지를 생성합니다.

+0

고마워요. 당신이 저를 많은 시간과 혼란으로 구해줬습니다. –

-1

또한 고려중인 테이블이 비어 있음을 나타낼 수 있습니다.이 조건은 "DELETE FROM table_name where;" 사용. 테이블 "table_name"에 데이터가 없으면 아무 것도 삭제할 수 없으므로 쿼리가 비어 있다는 오류가 표시됩니다.

관련 문제