2013-05-11 2 views
1

Я пытаюсь создать корзину с использованием MySQL. Я продолжаю получать эту ошибку «Query was empty», когда я запускаю этот код. Пожалуйста, помогите, я попробовал несколько вещей, таких как помещение переменных внутри строки вместо их конкатенации.Запрос был пуст PHP error

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

[Edit]

КСТАТИ. вы забываете " (цитаты) внутри запроса, вызывающего ошибку sql, что приводит к $query = false (см. manual). $query (false) затем преобразуется в строку, в результате получается '' (пустая строка), которую вы передаете mysql_query, и которая генерирует «Query was empty» -Message, как и должно быть, потому что вы пытались отправить пустой запрос.

+0

Спасибо человеку, что вы спасли меня так много времени и путаницы –

-1

Это также может означать, что рассматриваемая таблица пуста. Это условие возникает, когда «УДАЛИТЬ ИЗ table_name where;» используется. Здесь, если таблица «имя_таблицы» не имеет данных, она ничего не может удалить и, следовательно, она показывает ошибку, указывающую, что запрос пуст.

Смежные вопросы