MySQL - 查询无法正常工作

时间:2016-01-10 15:03:23

标签: php mysql

这是我的问题:

if($GetSize != ""){
    $r = mysql_query("select * from `ProductSizes` ps, `products` p WHERE `ps.Size`='$GetSize' and `p.id`=`ps.Product`");

} else {
    $r = mysql_query("SELECT * FROM `products` WHERE `Category`='$Cat' $FilterSQL $FilterSQLS $BrandSearch ORDER $OrderBy LIMIT $first_product_shown1, $products_per_page");
}


while($rowi = mysql_fetch_array($r))
        {

        $id = $rowi['id'];
        $Title = $rowi['Title'];
        $Image = $rowi['Image'];
        $Price = $rowi['Price'];
        $PriceOld = $rowi['PriceOld'];
        $Rating = $rowi['Rating'];
        $SDProductCode = $rowi['ProductCode'];
        $Lev = $Price * GetSetting('PoundRate');
        $LevOld = $PriceOld * GetSetting('PoundRate');
        $Lev = number_format($Lev, 2, '.', '');
        $LevOld = number_format($LevOld, 2, '.', '');
}

我认为我有一些错误,因为我没有结果。

您是否发现任何错误以及固定变体的外观如何?

提前致谢!

4 个答案:

答案 0 :(得分:1)

您在JOIN之前使用mysql_query(" select * from `ProductSizes` c join `products` o on o.`id` = c.`Product` WHERE `c.Size` = '$GetSize' "); 子句:

校正:

mysqli_*

旁注:

我建议您使用PDOmysql_*代替JOIN,因为它已被弃用,在PHP 7中不可用。

答案 1 :(得分:0)

考虑修改您的查询,如下所示,导致您的查询语法错误。 WHERE条款应该在select c.* from `ProductSizes` c join `products` o on o.`id` = c.`Product` WHERE c.`Size` = '$GetSize';

之前
{{1}}

答案 2 :(得分:0)

SQL查询似乎不正确...试试这个

mysql_query("select * from `ProductSizes` ps, `products` p WHERE `ps.Size`='$GetSize' and p.`id`=ps.`Product`")

使用mysql_query_error函数检查MySQL查询结果也是一个好主意

if(mysql_query_error()) {
    //Probably syntax error
}

答案 3 :(得分:0)

试试这个

mysql_query("select * from `ProductSizes` c join `products` o on o.`id`=c.`Product` WHERE c.`Size`='$GetSize'")