欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

循环 - php,while中使用mysql查询语句问题

程序员文章站 2022-04-10 16:01:41
...
php的mysql查询语句可不可以这样用呢?
$query = "SELECT name FROM bank WHERE area LIKE 'aaa'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
    $http = $row['http'];
    $task_query = "SELECT * FROM task WHERE link LIKE'%$http%'";
    $task_result = mysql_query($task_query) or die(mysql_error());
    while($task = mysql_fetch_array($task_result));
            echo $task['high'].'
'; }

回复内容:

php的mysql查询语句可不可以这样用呢?

$query = "SELECT name FROM bank WHERE area LIKE 'aaa'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
    $http = $row['http'];
    $task_query = "SELECT * FROM task WHERE link LIKE'%$http%'";
    $task_result = mysql_query($task_query) or die(mysql_error());
    while($task = mysql_fetch_array($task_result));
            echo $task['high'].'
'; }

SELECT *
FROM task    
JOIN (SELECT http AS zhttp FROM bank WHERE area LIKE 'aaa') AS Z 
    ON task.link LIKE CONCAT('%', Z.zhttp, '%')

SELECT * FROM bank LEFT JOIN task ON task.link LIKE concat('%', bank.http, '%') WHERE bank.area = 'aaa'

我觉得你可能需要JOIN....

select task.high from task left join bank on task.link like concat('%', bank.http. '%') where bank.area like 'aaa'

你在 $task_query = "SELECT * FROM task WHERE link='%$http%'"; 这里应该是希望得到模糊匹配的效果,怎么能用 = 呢?