I need to select ids from database with arrays. my english not good. I think the best way to show my codes

the form result print_r($malayalam); like this Array ( [0] => helo [1] => hi[2] => how)

I need to select its ids from table. my code is not correct. any way let me show you here

$results=mysql_query("SELECT ml_id FROM ml_table WHERE word = '$malayalam'"); 
$numrows=mysql_num_rows($results);
if($numrows!=0){
    $ml_row = mysql_fetch_array($results);
    $ml_id = $ml_row['ml_id'] ;
    echo "Malayalam ID " . $ml_id . "<br />";
}

I need to add all my result in to another array.

is that possible ? if u have any idea could you answer to me please

link|improve this question

What does the table data look like? What are the names of the columns? I don't think the $malayalam array is going to work in the SQL SELECT statement the way you want it to either. – Shaun Bohannon Mar 3 at 17:04
@sbohan Hi table name is ml_table columns are ml_id, word the thing is that I need to select ml_id from thable which are equal to Array ( [0] => helo [1] => hi[2] => how) – maanu Mar 3 at 18:22
1  
possible duplicate of PHP/MYSQL using an array in WHERE clause – Michael Mar 3 at 18:39
feedback

4 Answers

If I understood properly, the following is what you need

$results=mysql_query("SELECT * FROM ml_table WHERE word = '$malayalam'"); 
if(mysql_num_rows($results)>0){

    $newArray = array(); //Create a new array

    while($ml_row = mysql_fetch_array($results)) {
        $ml_id = $ml_row['ml_id'] ;
        $newArray[$ml_id] = $ml_row;
        echo "Malayalam ID " . $ml_id . "<br />";
    }

    //$newArray is your new array accesible from id

}
link|improve this answer
print_r($newArray); doesn't show any thing :( – maanu Mar 3 at 18:41
Try to run the command, alone using phpmyadmin only and see if outputs anything. – Starx Mar 3 at 18:46
I think the problem on $malayalam. bcos it is also array. – maanu Mar 3 at 18:48
@maanu, of course, thats a problem. It is not designed to read an array. – Starx Mar 3 at 18:51
do u know how to select with array ? – maanu Mar 3 at 19:04
show 6 more comments
feedback

You should write something like this:

$ids = array();
$in = '"' . implode('","', array_map('mysql_real_escape_string', $malayalam)) . '"';
$result = mysql_query('SELECT id FROM ml_table WHERE word IN(' . $in . ')');
while($row = mysql_fetch_assoc($result)) {
    $ids[] = $row['id'];
}

$anotherArray = array_merge($ids, $anotherArray);
OR
$anotherArray += $ids;
link|improve this answer
feedback
$i=0;       
foreach($malayalam as $key=>$value)
{
    $results=mysql_query("SELECT * FROM ml_table WHERE word = '$value'"); 
    $numrows=mysql_num_rows($results);
    if($numrows!=0)
    {
         $ml_row = mysql_fetch_array($results);
         $ml_id = $ml_row['ml_id'] ;
         $ml_ad[$i]=$ml_id;
         echo "Malayalam ID " . $ml_id . "<br />";
         $i++;
     }
 }

Now when you printr($ml_ad); it will show all your id's in an array.

link|improve this answer
I need to all selected ml_id in to $ml_ad as a array – maanu Mar 3 at 18:36
feedback
up vote 0 down vote accepted

finally fainally found solution with the help of answers

$rArray = mysql_query("SELECT ml_id FROM ml_table WHERE word IN ('".implode("', '", $malayalam)."')"); 
if(mysql_num_rows($rArray)>0){
    $temp_rows = array();       
    while(($row = mysql_fetch_array($rArray))) {
        $temp_rows[] = $row['ml_id'];
    }
}

the result of print_r($temp_rows) coming like this Array ( [0] => 123 [1] => 234 [2] => 312)

thank to all

link|improve this answer
feedback

Your Answer

 
or
required, but never shown
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.