dounielong7728 2014-09-01 22:49
浏览 144
已采纳

MySQL:选择LIKE无法正常工作

I have this code that searches on a DB if a name exists:

<?php
$name = $_POST['name'];

$get_search_results_q= "SELECT * FROM `users`.`info` WHERE `info`.`fullname` LIKE '%$name%' ";
$get_search_results_run=mysql_query($get_search_results_q); 
if($get_search_results_run==0){
    echo "No results were found";
}else{
    while($rows = mysql_fetch_assoc($get_search_results_run,MYSQL_NUM)){
        $com_array[] = $rows[3];
    }
    echo json_encode($com_array);
}

?>


It works fine when i type a name that exists in DB.
But when i type something that doesn't exist nothing is returned.
This is the jQuery AJAX code that displays the data:

.done(function(data) {
                var result = eval(data);
                if(!result){
                    $(".results").empty();
                    $(".results").append('<div class="horizontal result_element">'+result+'</div>');
                    $("#search_result_box").show();
                }else{
                    $(".results").empty();
                    for (var i = 0; i < result.length; i++) {
                        $(".results").append('<div class="horizontal result_element"><div class="result_photo"></div><div class="result_data">'+result[i]+'</div></div>');
                    }
                    $("#search_result_box").show();
                }
                });

I tried many things,like to display the data on jQuery and the mysql_query result but nothing happens.

  • 写回答

1条回答 默认 最新

  • dtjpnd7517 2014-09-01 22:57
    关注

    Try this

    $total_rows = mysql_num_rows($get_search_results_run);
    if(!$total_rows){
       echo "No results were found";
    }else{
       while($rows = mysql_fetch_assoc($get_search_results_run,MYSQL_NUM)){
          $com_array[] = $rows[3];
       }
       echo json_encode($com_array);
    }
    

    EDIT

    I think because you send error type not in object json format, try this :

    $name = $_POST['name'];
    
    $get_search_results_q= "SELECT * FROM `users`.`info` WHERE `info`.`fullname` LIKE '%$name%' ";
    // I missing this before
    $get_search_results_run = mysql_query($get_search_results_q);
    $total_rows = mysql_num_rows($get_search_results_run);
    if(!$total_rows){
       $error['message_message'] = "No results were found";
       echo json_encode($error);
    }else{
       while($rows = mysql_fetch_assoc($get_search_results_run,MYSQL_NUM)){
          $com_array[] = $rows[3];
       }
       echo json_encode($com_array);
    }
    
    .done(function(data) {
                    var result = eval(data);
                    if(result.error){
                        $(".results").empty();
                        $(".results").append('<div class="horizontal result_element">'+result.error+'</div>');
                        $("#search_result_box").show();
                    }else{
                        $(".results").empty();
                        for (var i = 0; i < result.length; i++) {
                            $(".results").append('<div class="horizontal result_element"><div class="result_photo"></div><div class="result_data">'+result[i]+'</div></div>');
                        }
                        $("#search_result_box").show();
                    }
                    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 Keil编译时报错"no source": Error: #5: cannot open source
  • ¥50 操作系统时间无法更新
  • ¥20 Windows11, usb转hdmi,外接显示器无反应
  • ¥20 怎么在JavaFx的TableView中动态地添加数据。
  • ¥15 MFC里的工具栏按钮图标使用外部图片
  • ¥15 如何在 llama.cpp 服务器中实现用户登录功能的优化方案?(语言-c++)
  • ¥15 有会用octave 的吗,急!代做!好偿!
  • ¥15 有一套同城小程序源码,Uniapp前端,php+html+mysql后端 ,能不能教我搭建起来可以运行,我不知道怎样操作
  • ¥15 mac调用java.io接口无法在根目录生成文件
  • ¥15 java微服务节点假死,网关路由时长延迟