2014-07-15 39 views
-3

可以将$var[$x]['seeds']转换为$var?在如下所示的mysql语句中,我该如何使用它?Php数组与正常变量

$length=9; 
$x=0; 
while ($x<$length){ 
$query="Select fruits in ('$var[$x]['seeds']') from edible";//This query will go 9 times different seeds. 
$x++; 
} 

请帮帮我。

+0

什么是'$ var'?它从何而来? –

+0

是'种子'固定为$ var?它被固定到9? –

回答

3

我希望我正确地理解你的问题:

$query = "SELECT seeds FROM edible WHERE seeds IN ('" . $var[$x]['Apple'] . "')"; 

如果你现在执行:echo $query;,你会看到查询的样子。但是你的问题并不清楚你究竟想要什么。

另外,如果你想在查询中使用变量,那么看看参数化查询。这可以防止SQL注入。

+0

你已经解决了我的问题。即使没有测试,我也可以看到你的代码工作。谢谢,你非常有帮助。 –

1

您可以将该值存储到变量并在查询中使用,或者您可以使用转义字符串。

$query = "Select fruits in ('".$var[$x]['seeds']."') from edible" 
1

看来您希望创建一个查询,它将一个值与一个可能的其他值列表进行比较,并与SQL进行比较。我会用一条准备好的声明来做到这一点:

$sql = 'SELECT fruits IN (?,?,?,?,?,?,?,?,?,?) FROM edible'; 
$stmt = $db->prepare($sql); 
$stmt->execute(array_map(function($value) { 
    return $value['seeds']; 
}, $var));