Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP在MySQL WHERE子句中设置IF条件?_Php_Mysql - Fatal编程技术网

如何使用PHP在MySQL WHERE子句中设置IF条件?

如何使用PHP在MySQL WHERE子句中设置IF条件?,php,mysql,Php,Mysql,如何在mysql where子句中使用php的if条件。我的程序有一个问题,问题是我需要选择所有用户的照片,如果该网站的访问者是该人的朋友,那么我们需要显示一些图像,如果不是朋友,就不要显示图像 最后,我需要检查图像创建者id和访问者id,如果他们不是朋友,则继续查询,所有这些都需要在单个查询中进行我认为您需要动态更改mysql查询。试试这样的 $sql=“从“$this->tablename.”中选择*,其中“$this->fieldid.”=“$this->id.”其中fieldid和id将

如何在mysql where子句中使用php的if条件。我的程序有一个问题,问题是我需要选择所有用户的照片,如果该网站的访问者是该人的朋友,那么我们需要显示一些图像,如果不是朋友,就不要显示图像


最后,我需要检查图像创建者id和访问者id,如果他们不是朋友,则继续查询,所有这些都需要在单个查询中进行

我认为您需要动态更改mysql查询。试试这样的
$sql=“从“$this->tablename.”中选择*,其中“$this->fieldid.”=“$this->id.”
其中fieldid和id将根据您通过php页面的内容而变化

将查询分成以下部分是一个好主意:

$query = "select * from tbl_name where";
if(condition){
  ...
$query .= "your query";
}

mysql_query($query);
所有这些都需要在一个查询中完成

这是错误的要求。
没有这种[理智的]限制。
始终使用任务所需的任意数量的查询。不多也不少


您可以显示您的查询,并询问是否有减少数量的方法,以获得更合理的代码

如果你能发布一段到目前为止你已经尝试过的代码片段,那就太好了。可能只是您试图从中提取数据的sql查询,表结构也有助于解决与sql相关的问题。您最好通过示例说明要提取什么以及如何从数据库中提取数据。。如果MYSQL中的条件与PHP中的条件相同,则不能使用PHP。欢迎使用StackOverflow。在“一个问题”、“一个错误”或“异常”之后,首先要写的是确切的问题代码、错误描述或异常消息。“我的程序有问题”绝对没有提供我们可以用来帮助您解决问题的信息。如果你认为是的话,打电话给你的医生,说“我感觉不舒服,怎么了?”然后看看医生是否会诊断你并给你开药。请记住,我们从这里看不到您的屏幕,我们唯一能帮助您的信息是您在问题中提供的信息。不,实际上我需要用访问者用户id检查字段值,如果条件通过,那么我需要写一些where子句,或者如果条件失败,我需要写一些其他where子句,这两个条件都依赖于第一个if条件和一个查询中的所有内容,这就是问题所在。我认为您不能像上面提到的那样在mysql查询中写入if condn,因此您需要根据if condn传递值。表名:community_notes fileds:id、title、subject、description、published、creator、tags、permissions、created、,状态和我有一个连接表,其中说明用户连接表名称:user\u connection fileld:id,connect\u from,connect\u to,status我的要求是从表中选择所有记录,如果条件站点访问者用户id是notes创建者的朋友,则选择权限为0或10的所有记录,20如果不是朋友,则选择权限为0的所有记录这是我的问题表名称:社区\ notes文件:id、标题、主题、描述、已发布、创建者、标记、权限、已创建、,状态和我有一个连接表,其中说明用户连接表名称:user\u connection fileld:id,connect\u from,connect\u to,status我的要求是从表中选择所有记录,如果站点访问者用户id是notes创建者的朋友,则选择权限为0或10的所有记录,20如果不是朋友,则选择权限为0的所有记录