0

i have an array

variable $smt_database = 257, 259, 261

Array ( [0] => 257, 259, 261 ) 

how can i insert this variable $smt_database in database like this :

$sql = "SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN ($smt_database)";

when i echo the sql it show array like below :

SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN (Array)

how can i change so it can like sql below :

SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN (257, 259, 261)

i know we must use implode and explode but i do not know how to implement them.

airi
  • 585
  • 5
  • 19

3 Answers3

2

simple use implode

$in_text = implode(",", $smt_database);

// now use this variable in sql like

$sql = "SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN ($in_text)";

above will work if the values in array are numeric

So if value in array are not numeric you need to single quotes on your value try

update 2 :

$new_array = array();
foreach($your_array as $val)
{
    $new_array[] = "'".$val."'";
}

// now use implode

 $in_text = implode(",", $new_array);

  // now use this variable in sql 
Satish Sharma
  • 9,475
  • 6
  • 27
  • 51
  • implode is useless for `Array ( [0] => 257, 259, 261 )` its useful for `Array ( [0] => 257,[1]=> 259,[2]=> 261 )` – Manwal Aug 11 '14 at 05:44
  • thanks .. i just missing the implode .. $mid1 = implode(',', preg_replace('/\s+/', '', $smt_database)); – airi Aug 11 '14 at 05:51
1

Use with impload and FIND_IN_SET because IN operator do not work on String value.

$your_text = implode(",",$smt_database);

$sql = "SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE FIND_IN_SET(member_id,$your_text)";
Sadikhasan
  • 17,858
  • 20
  • 77
  • 117
1

Use this:

$sql = "SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN (".$smt_database[0].")";

assuming you have array $smt_database = Array ( [0] => 257, 259, 261 )

Manwal
  • 22,994
  • 11
  • 59
  • 91
  • hi nice way to solve my problems.. thanks for the knowledge sharing.. never thought the way of solving this kind of problems like this.. – airi Aug 11 '14 at 05:55