Page 1 of 1

pass variable to mysql statement in foreach loop

Posted: Sun Mar 15, 2015 10:47 am
by phillyrob0817
Is there a way to use another variable in a mysql select where statement for inside a foreach loop.

Ex:

<?php

This works fine.

Code: Select all

    foreach ($range as $b)
            {

     $result = $conn->query("select count(*) as mycount1  from $table where date >= '$date' and (Ball1  = $b or Ball2  = $b or Ball3  = $b or Ball4  = $b or Ball5 = $b)");

      while ($row = $result->fetch_object()) {
       $count  = $row->mycount1;
       echo  $b." ".$count."<br>";
       }

      }


But, I want to be able to use this variable string below* in my statement so I can change what comes after the "and" in the statement. Is there a way to do that?

Code: Select all

    *$ballsB5 = ("Ball1  = $b or Ball2  = $b or Ball3  = $b or Ball4  = $b or Ball5 = $b");


    foreach ($range as $b)
            {

       $result = $conn->query("select count(*) as mycount1  from $table where date >= '$date' and $ballsB5");

      while ($row = $result->fetch_object()) {
       $count  = $row->mycount1;
       echo  $b." ".$count."<br>";
       }

      }


?>

Re: pass variable to mysql statement in foreach loop

Posted: Sun Mar 15, 2015 11:53 am
by Celauran
Move the parentheses inside the quotes so your OR conditions are grouped like you want, then move the variable assignment back inside your foreach loop. Better still, create a prepared statement outside of the loop and execute inside.

Re: pass variable to mysql statement in foreach loop

Posted: Mon Mar 16, 2015 8:10 am
by phillyrob0817
Thanks for the replies and am trying the suggestions now.