Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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/69.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
使用LIKE和逻辑and左键连接PHP/SQL_Php_Mysql - Fatal编程技术网

使用LIKE和逻辑and左键连接PHP/SQL

使用LIKE和逻辑and左键连接PHP/SQL,php,mysql,Php,Mysql,我有下面的Mysql查询,我试图运行一个左连接来定义一个带有图像表的pages表 $query = mysql_query("SELECT * FROM pages WHERE `fname` LIKE '%$fname%' AND `lname` LIKE '%$lname%' AND `city` LIKE '%$citysearch%' AND `state` LIKE '%$statesearch%' AND `activities` LIKE '

我有下面的Mysql查询,我试图运行一个左连接来定义一个带有图像表的pages表

$query = mysql_query("SELECT * FROM pages
                    WHERE `fname` LIKE '%$fname%' AND `lname` LIKE '%$lname%' AND `city` LIKE '%$citysearch%' AND `state` LIKE '%$statesearch%' AND `activities` LIKE '%$locationsearch%' AND `startyr` LIKE '%$startyearsearch%' AND `endyr` LIKE '%$endyearsearch%'
                     LEFT JOIN `images.pgname` WHERE `pages.pgname` = 'images.pgname' LIMIT $start, $perpage
                ");
我得到“警告:mysql\u fetch\u assoc()期望参数1是资源,第72行给出布尔值”


我要做的是将pages表与images表连接起来。 pages表具有以下字段: fname、lname、城市、州、活动、startyr、endyr、pgname

“图像”表具有以下字段: pgname、id、imageUrl、用户名

我要做的是返回pages.pgname等于images.pgname的所有图像,并使用imageUrl返回图像的URL


欢迎任何帮助

看起来您正在尝试加入“images.pgname”列?只能联接完整的表。此外,连接需要位于WHERE子句之前

现在,让我们解释一下这个过程:如果需要从多个表中选择值,首先列出所有要选择的值。在这种情况下,即a)来自页面(
pages.*
)的所有列和b)来自图像(
images.imageUrl
)的imageUrl:

然后,与往常一样,指定要从中选择的表:

FROM pages
然后你加入。左连接意味着数据库将尝试在其他表(图像)中查找相应的行。这一行实际上并不一定存在。但是,您可以通过指定定义连接的表和条件来进行连接:

LEFT JOIN images ON pages.pgname = images.pgname
其余的保持不变:

WHERE pages.fname LIKE '%$fname%' AND pages.lname LIKE '%$lname%' AND pages.city LIKE '%$citysearch%' AND pages.state LIKE '%$statesearch%' AND pages.activities LIKE '%$locationsearch%' AND pages.startyr LIKE '%$startyearsearch%' AND pages.endyr LIKE '%$endyearsearch%'
LIMIT $start, $perpage

但是,如果每页有多个图像,则需要以另一种方式连接:

SELECT pages.*, images.imageUrl
FROM images
JOIN pages ON pages.pgname = images.pgname
WHERE ...

请不要使用mysql的函数,因为它们在。如果你能详细说明一下你想要得到的结果,你可能会得到更多有用的答案。@Niko,我现在刚刚编辑了这个问题。还建议使用mysqli或pdo。我试图做的是将页面表与图像表连接起来。pages表有以下字段:fname、lname、city、state、activities、startyr、endyr、pgname,images表有以下字段:pgname、id、imageUrl、username我要做的是返回pages.pgname等于images.pgname的所有图像,并用imageUrl返回图像的URL。@ThelsonRichardson我已经更新了我的答案,请告诉我这是否正确解决了您的问题。我仍然无法解决我的问题。
SELECT pages.*, images.imageUrl
FROM images
JOIN pages ON pages.pgname = images.pgname
WHERE ...