Home > Back-end >  how to use variable in SQL query language in WordPress
how to use variable in SQL query language in WordPress

Time:10-17

I have a DB table named 'affiliate_wp_coupons' where has 3 cols and they are;

  1. coupon_id
  2. affiliate_id
  3. coupon_code

I have coupon_code which is coming from a variable, not static. Now I wanted to query the associated affilaite_id value based on the coupon_code.

I am trying this code:

$results = $wpdb->get_results( "SELECT * FROM affiliate_wp_coupons WHERE `coupon_code`= 'BS0PDDTTGU'");

This code returns an Object with the matched col.

In the above code coupon_code value is static, how can I put a variable here?

CodePudding user response:

$coupon_code = 'BS0PDDTTGU';
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM affiliate_wp_coupons WHERE `coupon_code`= %s", $coupon_code));

CodePudding user response:

There're multiple ways to concatenate/inserting variable into a string in PHP, ex:

$coupon_code = 'Windy';
$str = "Hello {$coupon_code}!"; // Hello Windy!
$str2 = "Hello $coupon_code!"; // Hello Windy!
$str3 = 'Hello '.$coupon_code.'!'; // Hello Windy!

personally I prefer $str2.

Then in your case you can replace your code something like:

$results = $wpdb->get_results( "SELECT * FROM affiliate_wp_coupons WHERE `coupon_code`= '{$coupon_code}'");

Note: don't forget to define $coupon_code before run query.

  • Related