为了账号安全,请及时绑定邮箱和手机立即绑定

通过 JSON 使用 PDO 自动完成 MySQL 字段

通过 JSON 使用 PDO 自动完成 MySQL 字段

PHP
慕虎7371278 2023-09-15 17:12:43
我的字段曾经工作正常,但是当我切换连接到数据库的配置文件以使用 PDO 时,它停止工作。我如下更新了 php 文件,但数据仍然不会填充。下面是我的配置文件和 PHP 文件,它提取数据并通过 AJAX 将其以 JSON 格式发送回我的页面。这是我第一次使用 PDO。配置文件:class DatabaseService{    private $db_host = "localhost";    private $db_name = "ca_us_data";    private $db_user = "root";    private $db_password = "";    private $connection;    public function getConnection(){        $this->connection = null;        try{            $this->connection = new PDO("mysql:host=" . $this->db_host . ";dbname=" . $this->db_name,             $this->db_user, $this->db_password);        }catch(PDOException $exception){            echo "Connection failed: " . $exception->getMessage();        }        return $this->connection;    }}?>获取文件:$databaseService = new DatabaseService();$conn = $databaseService->getConnection();if(!isset($_POST['selected_country'])){    $keyword = strval($_POST['query']);    $search_param = "%{$keyword}%";    $stmt = $conn->prepare("SELECT country_name FROM 'countries' WHERE country_name LIKE ?");    $stmt->bindParam(':search_param', $search_param, PDO::PARAM_STR);    $stmt->execute();    $num = $stmt->rowCount();    if($num > 0){        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {            $countryResult[] = $row["country_name"];        }    echo json_encode($countryResult);    }}
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

':search_param'我认为您的查询中没有替换?:search_param并重试:

 $stmt = $conn->prepare("SELECT country_name FROM countries WHERE country_name LIKE :search_param");
     $stmt->bindParam(':search_param', $search_param, PDO::PARAM_STR);


查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 62 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信