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%'"; 這裡應該是希望得到模糊比對的效果,怎麼能用 = 呢?