我正在尝试使用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');
?>
答案 0 :(得分:0)
你尝试用这条线做什么?
$result = mysql_query($query);
只需删除它并将上面的行更改为
$result = mysql_query('insert into cart values('.$user.','.$itemNum.','.$name.', '.$image.','.$quantity.', '.$price.')');
[编辑]
顺便说一下。您忘记了查询中导致发生sql错误的"
(引号),导致$query = false
(请参阅manual)。 $query
(false
)然后转换为字符串,生成''
(空字符串),您传递给mysql_query
并生成&#34;查询为空& #34; -Message,因为它应该发送一个空查询。
答案 1 :(得分:-1)
它也可能意味着考虑的表是空的。当“DELETE FROM table_name where;”时出现这种情况。用来。这里,如果表“table_name”没有数据,则它不能删除任何内容,因此它显示一条错误,指出查询为空。