wpdb_prepare с несколькими или условием

Я хочу выполнить такой запрос:

$wpdb->prepare( "SELECT * ... from ... WHERE ( post_title LIKE '%%%s%%' or post_content LIKE '%%%s%%' )..., $string ); 

Если я выполняю запрос только с одним условием, он работает:

 $wpdb->prepare( "SELECT * ... from ... WHERE ( post_title LIKE '%%%s%%' )..., $string ); 

Какая ошибка в моем первом запросе?

Solutions Collecting From Web of "wpdb_prepare с несколькими или условием"

Я думаю, что ваш первый частичный код будет этим частным кодом:

 $wpdb->prepare( "SELECT * ... from ... WHERE ( post_title LIKE '%%%s%%' or post_content LIKE '%%%s%%' )..., $string, $string ); 

Вам необходимо передать столько же аргументов в запрос, сколько вы указываете (в% s).

 $like = '%'. $wpdb->esc_like($searchExpression) . '%'; $sql_content = $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE ( post_title LIKE '%%%s%%' or post_content LIKE '%%%s%%' )", $like, $like ); $post_id = $wpdb->get_var($sql_content); 

это работало с кредитов user998163