php下while中使用mysql查询语句问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

php下while中使用mysql查询语句问题

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'].'<br />';
    }

展开
收起
落地花开啦 2016-06-17 18:01:01 2562 0
2 条回答
写回答
取消 提交回答
  • superphper

    可以,但是非常不建议这么写。
    首先2个查询都为like查询,如果数据量大,耗时严重,可以考虑将2个查询合并为一个。
    第二,查询次数为1 + n次,考虑减少查询,同上。
    第三,like 'aaa'要写成=‘aaa’,LIKE'%$http%' 中,$http为转义特殊字符,可能导致代码运行错误,SELECT * 最好写成select [must fields]

    2019-07-17 19:43:23
    赞同 展开评论 打赏
  • 落地花开啦
    喜欢技术,喜欢努力的人

    screenshot
    应该可行

    2019-07-17 19:43:23
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
让 MySQL 原生分布式触手可及
立即下载
好的 MySQL 兼容可以做到什么程度
立即下载
云数据库RDS MySQL从入门到高阶
立即下载