douguangxiang0363 2018-06-27 20:34
浏览 70

致命错误:未捕获错误:在第27行的C:\ cont_search.php中调用boolean上的成员函数execute()

How to search from two table and query execute and bind to form json array to pass

cont_search.php

        <?php

    include "connection.php";
    $keyword=$_GET["context"];
    //Checking if any error occured while connecting
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
        die();
    }

    $query =$conn->prepare("(SELECT isbn, title, authors, accession, publisher, pubyear, pages, keywords, subheadings, booknote, rak, hr, vr,            status, 'book' as type FROM books WHERE title LIKE '%".$keyword."%' OR authors LIKE '%".$keyword."%' OR publisher LIKE                      '%".$keyword."%' OR pubyear LIKE '%".$keyword."%' OR keywords LIKE '%".$keyword."%' OR subheadings LIKE '%".$keyword."%' OR               booknote LIKE '%".$keyword."%')  
           UNION ALL
           (SELECT t_acc, t_title, t_author, t_university, t_puby, t_keywords, t_rak, t_hr, t_vr, t_status, 'thesis' as type FROM thesis WHERE t_title LIKE '%".$keyword."%' OR t_author LIKE '%".$keyword."%' OR t_university LIKE '%".$keyword."%' OR t_puby LIKE '%".$keyword."%' OR t_keywords LIKE '%".$keyword."%')");

 echo "Error: " . $query . "<br>" . $conn->error;

    $query->execute();

    $query->bind_result($isbn, $title, $authors, $accession, $publisher, 
  $pubyear, $pages, $key, $sub, $bkn, $rak, $hr, $vr, $status, $tacc, 
                        $ttile, $tauthor, $tuni, $tpuby, $tkey, $trak, $thr, 
   $tvr, $tstatus);


    $books = array(); 
    $data =array();
    //traversing through all the result 
        while($query->fetch()){
        $temp = array();
        $temp['isbn'] = $isbn; 
        $temp['title'] = $title; 
        $temp['authors'] = $authors; 
        $temp['accession'] = $accession; 
        $temp['publisher'] = $publisher; 
        $temp['pubyear'] = $pubyear; 
        $temp['pages'] = $pages; 
        $temp['keywords'] = $key; 
        $temp['subheadings'] = $sub; 
        $temp['booknote'] = $bkn; 
        $temp['rak'] = $rak; 
        $temp['hr'] = $hr; 
        $temp['vr'] = $vr;
        $temp['status'] = $status;
        $temp['t_acc'] = $tacc;
        $temp['t_title'] = $ttile;
        $temp['t_author'] = $tauthor;
        $temp['t_university'] = $tuni;
        $temp['t_puby'] = $tpuby;
        $temp['t_keywords'] = $tkey;
        $temp['t_rak'] = $trak;
        $temp['t_hr'] = $thr;
        $temp['t_vr'] = $tvr;
        $temp['t_status'] = $tstatus;


        array_push($data, $temp);

        }
        $books['ss'] = true; //ss=send status
        $books['search'] = $data;
    //displaying the result in json format 
        header('Access-Control-Allow-Origin: *');
        header('Content-type:application/json;charset=utf-8');
        echo json_encode($books);

    ?>

http://localhost/cont_search.php?context=english

I execute/run above query and error occur

Error: The used SELECT statements have a different number of columns

Fatal error: Uncaught Error: Call to a member function execute() on boolean in C:\cont_search.php

  • 写回答

1条回答 默认 最新

  • dtpfia3334 2018-06-27 20:43
    关注

    Your first error there is in the sql query.

    Each SELECT statement within UNION must have the same number of columns

    You have more columns in the first select than in the second one

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog