Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php json_编码和MariaDB,语法错误或访问冲突_Php_Mysql - Fatal编程技术网

Php json_编码和MariaDB,语法错误或访问冲突

Php json_编码和MariaDB,语法错误或访问冲突,php,mysql,Php,Mysql,我正在使用WAMP开发离线应用程序。我的WAMP数据库版本是: Server: mysql wampserver (127.0.0.1 via TCP/IP) Tipo di server: MySQL Versione del server: 5.6.17 - MySQL Community Server (GPL) 然后,我在PHP中有一个更新查询,它在WAMP上运行良好: $id = 1; $field = array("OptColumnView" => 0); $sql =

我正在使用WAMP开发离线应用程序。我的WAMP数据库版本是:

Server: mysql wampserver (127.0.0.1 via TCP/IP)
Tipo di server: MySQL
Versione del server: 5.6.17 - MySQL Community Server (GPL)
然后,我在PHP中有一个更新查询,它在WAMP上运行良好:

$id = 1;
$field = array("OptColumnView" => 0);

$sql = "UPDATE table SET OptColumn = ? WHERE ID = ?";

try {
        $rs = $db->prepare($sql);
        $rs->execute(array(json_encode($field), $id));
    } catch(PDOException $e) {
        die($e);
    }
但如果我在我的服务器上在线上传此文件,则:

 Server: Localhost via UNIX socket
Tipo di server: MariaDB
Versione del server: 10.1.41-MariaDB-cll-lve - MariaDB Server
Versione protocollo: 10 
我得到一个错误:

Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'OptColumn = "{\"OptColumnView\":0}' WHERE ID = '1" at line .......... 

这是兼容性问题吗?

使用near'Key
<这意味着它是保留的。@FunkFortyNiner抱歉,我创建了一个虚拟示例…我的真实字段名不是Key,而是OptColumnView@FunkFortyNiner请重新打开已编辑的问题抱歉没有让您知道我已重新打开,作为注释。
正确语法使用near'Key
<这意味着它是保留的。@FunkFortyNiner抱歉,我创建了一个虚拟示例…我的真实字段名不是Key,而是OptColumnView@FunkFortyNiner请重新打开已编辑的问题抱歉,没有让您知道我已重新打开,作为评论。