Php 如果列具有要执行语法的字符串
我想知道是否有一种方法可以在SQL语法中执行Php 如果列具有要执行语法的字符串,php,sql,if-statement,case,Php,Sql,If Statement,Case,我想知道是否有一种方法可以在SQL语法中执行ifELSE语句,或者是否有人可以帮助我处理CASE。基本上,如果在file\u url列中找到了文件名(字符串),则更改我要使用辅助信息的位置。我希望我的例子能帮助进一步解释我想做什么 $sql = "SELECT vm.file_url FROM #__virtuemart_medias AS vm INNER JOIN #__virtuemart_product_medias AS pm ON vm.virtuemart
if
ELSE
语句,或者是否有人可以帮助我处理CASE
。基本上,如果在file\u url
列中找到了文件名(字符串),则更改我要使用辅助信息的位置。我希望我的例子能帮助进一步解释我想做什么
$sql = "SELECT vm.file_url FROM #__virtuemart_medias AS vm
INNER JOIN #__virtuemart_product_medias AS pm ON vm.virtuemart_media_id = pm.virtuemart_media_id
WHERE pm.virtuemart_product_id = {$product_id} ";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$FILEURL = $row["vm.file_url"];
if ($FILEURL == "thumb_phone01.jpg"){
$sql .= "AND pm.ordering = 2";
}
else {
$sql .= "AND pm.ordering = 1";
}
$this->_db->setQuery($sql);
$img = $this->_db->LoadResult();
return $img;
}
谢谢。一个选项是使用用例和REGEXP:
SELECT vm.file_url FROM #__virtuemart_medias AS vm
INNER JOIN #__virtuemart_product_medias AS pm
ON vm.virtuemart_media_id = pm.virtuemart_media_id
WHERE pm.virtuemart_product_id = {$product_id}
AND pm.ordering = CASE
WHEN vm.file_url REGEXP 'thumb_phone01.jpg'
THEN 2
ELSE 1
END
这是你的电话号码
祝你好运。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,好的,谢谢。我不知道我在想什么,但这是一个更简单的答案+谢谢你!这很有效。我只是想知道如果有几个REGEXP值,您是否知道如何包含?