Maison >développement back-end >tutoriel php >循环 - php,while中使用mysql查询语句问题
php的mysql查询语句可不可以这样用呢?
<code class="lang-php">$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'].'<br>'; } </code>
php的mysql查询语句可不可以这样用呢?
<code class="lang-php">$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'].'<br>'; } </code>
<code class="lang-sql">SELECT * FROM task JOIN (SELECT http AS zhttp FROM bank WHERE area LIKE 'aaa') AS Z ON task.link LIKE CONCAT('%', Z.zhttp, '%') </code>
SELECT * FROM bank LEFT JOIN task ON task.link LIKE concat('%', bank.http, '%') WHERE bank.area = 'aaa'
我觉得你可能需要JOIN
....
<code>select task.high from task left join bank on task.link like concat('%', bank.http. '%') where bank.area like 'aaa' </code>
你在 $task_query = "SELECT * FROM task WHERE link='%$http%'";
这里应该是希望得到模糊匹配的效果,怎么能用 =
呢?