Php 在mysql查询中从数组中选择位置
我试图从mysql查询中的数组中进行选择Php 在mysql查询中从数组中选择位置,php,mysql,arrays,Php,Mysql,Arrays,我试图从mysql查询中的数组中进行选择 result = mysql_query(" SELECT * FROM fruit_db WHERE fruit='".$url."' ") $url已由$\u GET创建并分解为一个数组。例如,它可以是“苹果”或“苹果、香蕉、橘子”。不确定是否重新内爆为字符串 我需要选择“苹果”或“香蕉”或“橙色”,而不是“苹果、香蕉、橙色” 我习惯于计算字符串中的元素,并循环遍历它们,但在mysql查询中不行,我不知道是否有简单的方法。 我试过类似的方法 /*
result = mysql_query("
SELECT * FROM fruit_db
WHERE fruit='".$url."'
")
$url已由$\u GET创建并分解为一个数组。例如,它可以是“苹果”或“苹果、香蕉、橘子”。不确定是否重新内爆为字符串
我需要选择“苹果”或“香蕉”或“橙色”,而不是“苹果、香蕉、橙色”
我习惯于计算字符串中的元素,并循环遍历它们,但在mysql查询中不行,我不知道是否有简单的方法。
我试过类似的方法
/*
result = mysql_query("
SELECT * FROM fruit_db
WHERE fruit='".$url[0]."'
OR fruit='".$url[1]."'
// etc
")
*/
但是我不知道会有多少元素在中尝试使用
,使用数组$url
的内爆
$sql = "SELECT * FROM fruit_db WHERE fruit IN (".implode(',',$url).")";
确保$url
是一个数组
并尽量避免使用mysql\u*
语句,因为整个ext/mysql PHP
扩展提供了所有以前缀mysql\u*
命名的函数,从phpv5.5.0
开始正式弃用,并将在将来删除
您可以更好地使用另外两个MySQL
扩展:MySQLi
和PDO_-MySQL
,这两个扩展都可以用来代替ext/MySQL
在中使用,并对数组$url
进行内爆
$sql = "SELECT * FROM fruit_db WHERE fruit IN (".implode(',',$url).")";
"SELECT * FROM fruit_db WHERE fruit IN ('".implode("','", $url)."')";
确保$url
是一个数组
并尽量避免使用mysql\u*
语句,因为整个ext/mysql PHP
扩展提供了所有以前缀mysql\u*
命名的函数,从phpv5.5.0
开始正式弃用,并将在将来删除
您可以更好地使用另外两个MySQL
扩展:MySQLi
和PDO_-MySQL
,这两个扩展都可以用来代替ext/MySQL
"SELECT * FROM fruit_db WHERE fruit IN ('".implode("','", $url)."')";
假设您的$url=array('apple','banana','orange')代码>
那么sql将是:
SELECT * FROM fruit_db WHERE fruit IN ('apple','banana','orange')
假设您的$url=array('apple','banana','orange')代码>
那么sql将是:
SELECT * FROM fruit_db WHERE fruit IN ('apple','banana','orange')
你可以用
从表_name中选择列_name,其中列_name位于(“1”、“2”) 您可以使用
从表_name中选择列_name,其中列_name位于(“1”、“2”) 试试这个
$url=explode(",",$_GET['fruit']);
foreach($url as $fr){
$result = mysql_query("
SELECT * FROM fruit_db
WHERE fruit='".$fr."'
")
}
试试这个
$url=explode(",",$_GET['fruit']);
foreach($url as $fr){
$result = mysql_query("
SELECT * FROM fruit_db
WHERE fruit='".$fr."'
")
}
您应该在
中使用。你不应该再使用myqsl.*
函数了。我想说的是使用IN运算符你应该在中使用。而且你不应该再使用myqsl.*
函数了。我想说的是使用IN运算符也可以。一旦一切正常,我将替换不推荐的语法,谢谢。我是否简单地用“MySQLi”或“PDO_-mysql”替换“mysql_查询”?它们是否返回相同类型的资源?是的,可能需要一些额外的配置,以便在mysqli_*中设置连接,并且您可以再次使用,您可以击败我。一旦一切正常,我将替换不推荐的语法,谢谢。我是否简单地用“MySQLi”或“PDO_-mysql”替换“mysql_查询”?他们是否返回相同类型的资源?是的,可能需要一些额外的配置,以便在mysqli_*中设置连接,您可以再次使用,您击败了我,这是我以前拥有的,谁投了反对票,谁能解释为什么它不好?这是我以前拥有的,谁投了反对票,谁能解释为什么它不好?