I have some query call and I want to replace it into one but I don't know it is possible. My database looks like:
My database calls:
$minbet = $mysql->query('SELECT `value` FROM `jackpot1_info` WHERE `name`="minbet"')->fetch_assoc();
$minbet = $minbet['value'];
$maxbet = $mysql->query('SELECT `value` FROM `jackpot1_info` WHERE `name`="maxbet"')->fetch_assoc();
$maxbet = $maxbet['value'];
$maxitems = $mysql->query('SELECT `value` FROM `jackpot1_info` WHERE `name`="maxitems"')->fetch_assoc();
$maxitems = $maxitems['value'];
$maxitemsinpot = $mysql->query('SELECT `value` FROM `jackpot1_info` WHERE `name`="maxitemsinpot"')->fetch_assoc();
$maxitemsinpot = $maxitemsinpot['value'];
It's simple, just select name
and value
in a single query and you will have each name
and value
pair in a separate row:
$select = $mysql->query('
SELECT `name`, `value`
FROM `jackpot1_info`
WHERE `name` IN ("minbet","maxbet","maxitemsinpot","maxitems")
');
while ($result = $mysql->fetch_assoc())
{
var_dump($result);
}
Output would look like:
array(2) {
'name' =>
string(12884901894) "minbet"
'value' =>
int(123)
}
array(2) {
'name' =>
string(12884901894) "maxbet"
'value' =>
int(456)
}
...
I'm sure you can do the rest.
Use IN
instead of =
for one query.
$select = $mysql->query('SELECT name,value FROM `jackpot1_info` WHERE `name` IN ("minbet","maxbet","maxitemsinpot","maxitems")');
$result = $mysql->fetch_assoc();