0

私は新しい PHP 5 mysqli を初めて使用しますが、昔ながらの方法で多くの作業を行ってきました。

だからここに私のコードがあります

$query = "SELECT `id`, `catn`, `name`, `name_en`, `image`, `price`, `old_price`, `cat` FROM `products` WHERE `show` = 'Yes'";
        if (!empty($order)) {
            $params[0] = $params[0] . "s";
            $query = $query . " ORDER BY ? ".$way;
            $params[] = $order;
        }
        $stmt = $this->db->prepare($query);

        if (strnatcmp(phpversion(),'5.3') >= 0) //Reference is required for PHP 5.3+
        {
            $refs = array();
            foreach($params as $key => $value)
                $refs[$key] = &$params[$key]; 
        } 

        if ($stmt) {
            call_user_func_array(array($stmt, 'bind_param'), $refs);

            $stmt->execute();
... more code below

$way変数は常にまたはASCですDESC。しかし、クエリはIDでソートされた結果を私に与えています(ORDER BYステートメントがないように)。したがって、クエリは前に書き込むbind_paramので、パラメーターが適切にバインドされていないと思いますか? どこが間違っているのか教えていただけないでしょうか

4

2 に答える 2