【问题标题】:No Properties, Result from autocomplete input text php jquery没有属性,来自自动完成输入文本 php jquery 的结果
【发布时间】:2015-04-22 22:08:40
【问题描述】:

我不明白为什么查询不起作用,如果我尝试使用 localhost 可以正常工作但使用“mysql”并且我尝试在我的网站中使用 PDO 并且没有给出结果。我尝试查看 error_log 我得到这样的错误

PHP Fatal error:  Call to a member function fetch() on a non-object in fungsi/f_record.php on line 9

这是我的来源 f_record.php

<?php
include "../config/c_config.php";
$db = dbConn::getConnection();

$uq = strtolower($_GET["term"]);
$return = array();
$sqlac= "SELECT * FROM str_user WHERE name LIKE '$uq'";
$resac = $db->query($sqlac);
while($resac = $sqlac->fetch(PDO::FETCH_ASSOC)){
    array_push($return,array('label'=>$resac['name'],'value'=>$resac['name']));
    }
    echo(json_encode($return));
?>

和 index.php

    <script>
    $(function() {
        $( "#txtname" ).autocomplete({
            source: "f_record.php",
            minLength: 1
        });
    });
    </script>

</head>
<body>


<div>
    <label for="Name">Name: </label>
    <input id="txtname" class="txtname"/>
</div>

如何解决这个问题..

【问题讨论】:

  • 发布您的f_autocomplete_cust.php
  • 在服务器支持 PDO 上添加你的 PHP 版本?
  • @SO-user : 对不起,我编辑了.. 写错了
  • @jQuery:是的,支持..

标签: php jquery mysql pdo


【解决方案1】:

仔细阅读错误信息。

在非对象上调用成员函数 fetch()

您的代码中有一个对fetch() 的调用。是$sqlac-&gt;fetch(PDO::FETCH_ASSOC)

$sqlac 是一个字符串。您不能在 string 上调用 fetch,因为它不是 object

PHP reference 对此进行了介绍。

【讨论】:

    【解决方案2】:

    首先正确创建数据库句柄,我不确定“$db”是如何在你的代码中创建的,因为你没有提到 dbconn::getconnection() 的代码。我已将其替换为 $dbh。

        <?php
        include "../config/c_config.php";
        $db = dbConn::getConnection();
        *$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);*
    
        $uq = strtolower($_GET["term"]);
        $return = array();
        $sqlac = $dbh->prepare("SELECT * FROM str_user WHERE name LIKE '$uq'");
        $sqlac->execute();
    
        while($resac = $sqlac->fetch(PDO::FETCH_ASSOC)){
            array_push($return,array('label'=>$resac['name'],'value'=>$resac['name']));
            }
            echo(json_encode($return));
        ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多