I'm trying new json datatype on mysql 5.7. When I use native php mysql query, it works fine, but when I use PDO to query data, it shows this error:
Error: exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2036 ' in /some_folder/pdo.php:12 Stack trace: #0 /some_folder/pdo.php(12): PDO->query('select * from table_has_json_datatype') #1 {main}
Do you guys know how to solve this problem ?
Thanks.
Update with my simple test code:
<?php
try{
$db = new PDO('mysql:host=some.host;dbname=somedb;charset=utf8', 'user', 'pwd');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}catch(PDOException $e){
echo "Error1: ".$e;
}
try{
$query = $db->query("select * from table_with_json_type");
}catch(PDOException $e){
echo "Error2: ".$e;
}
?>
Error: 2036 (CR_UNSUPPORTED_PARAM_TYPE)- so the actual code is most likely irrelevant.a)What doesecho 'CLIENT_VERSION: "', $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION),'"';print? (where $pdo is your acual pdo instance created benew PDO...)b)Which version of PHP do you run on exactly what OS (e.g. PHP 5.4.7/Ubuntu 11.04)