php - MariaDB 语句与 MySQL 不兼容

标签 php mysql mariadb backend

后端不是我最强大的背景,我在从 MySQL 迁移到 MariaDB(我们的服务器提供商必须这样做)时执行 php 脚本时遇到了麻烦。 这是我在 php 脚本中使用的函数,该函数适用于 MySQL 5.6,但不适用于 MariaDB(10.1.22-MariaDB-cll-lve - MariaDB 服务器):

public function getPostByName($postName) {
        $returnValue = array();
        $sql = "SELECT * FROM posts WHERE post_description LIKE ?";
        $statement = $this->conn->prepare($sql);
        if (!$statement)
            throw new Exception($statement->error);

        $postName = "%".$postName."%";
        $statement->bind_param("s", $postName);
        $statement->execute();

        $result = $statement->get_result();
        while($row = $result->fetch_array(MYSQLI_ASSOC)) {
            array_push($returnValue, $row);
        }
        return $returnValue;
}

我已经尝试了大多数选项,但没有一个起作用(一个示例: php mysqli prepared statement LIKE )。有什么建议吗?

最佳答案

已解决:

public function getPostByName($postName){

    $returnValue = array();
    $sql = "SELECT * FROM posts WHERE post_description LIKE '%".$postName."%'";
    $result = $this->conn->query($sql);

    if($result != nill && (mysqli_num_rows($result) >= 1)){
        while($row = $result->fetch_array(MYSQLI_ASSOC)){
            array_push($returnValue, $row);
        }
    }
    return $returnValue;
}

关于php - MariaDB 语句与 MySQL 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44963762/

相关文章:

python - OperationalError : (2019, ""无法初始化字符集utf8mb4(路径:C:\\mysql\\\share\\charsets\\)"")

php - 如何自定义 Yii 2 RBAC 表名

php - 如何在 Laravel 5.2 中连接两个模型

带有多个 WHERE 子句的 MySQL JOIN QUERY

mysql - 按分数对 mysql 中的用户进行排名

c++ - 配置:错误:找不到MySQL包含目录

sql - 在 SQL 触发器中检查插入是否包含列的值

php - SQL注入(inject)相关:Why does my SQL query return only part of value with concatenate?

java - 亚马逊 AWS 是否提供与 facebook/twitter 和 google 相同的开放身份验证

mysql - 对大型表(有两个左连接表)的查询结果非常慢