2017-02-08 21 views
1

私は前にwordpressデータベースで作ったMySqlストアプロシージャを呼びたいと思う。しかし、常に空の配列を返します。私のコードに何か問題がありますか? MySqlプロンプトでこのコードを実行すると、行が正しく表示されます。どのようにワードプレスのストアドプロシージャを呼び出しますか?

public static function get_job_list($job_title = '', $qualify = '',$id = ''){ 
     global $wpdb, $table_prefix; 
     $query = "SET @id='{$id}'; SET @job_title='{$job_title}'; SET @qualify='{$qualify}'; 
         CALL `sp_job_list`(@id, @job_title, @qualify);"; 
     $result = $wpdb->get_results($query); 
     return $result; 
    } 
+0

てみてください - 参照してください - https://developer.wordpress.org/reference/classes/wpdb/prepare/ – htmlbrewery

+0

ない作品、まだ空の配列! –

+0

同じ 'sql'エラーがありますか? 'die(mysql_error())'をチェックする – htmlbrewery

答えて

1

問題は、私は常にコール(またはその他の文)の前にSET @id='{$id}'が実行されると、それは空の配列を返すある最初の文を他の文を置くとき。私は私のクエリに1つだけのクエリを置く必要があります!このような何か: `prepare`方法でクエリを作成する

query = "CALL 'sp_job_list'('{$id}', '{$job_title}', '{$qualify}');"; 
関連する問題