首页 - 崮生写笔记的地方

php Mysql 查询返回的数据类型不对 全是string

每个mysql操作查询返回的类型全是string

一开始在网上找到说修改pdo 下面这些选项,但我的项目已经是这样了

PDO::ATTR_STRINGIFY_FETCHES => false,
PDO::ATTR_EMULATE_PREPARES  => false,

然后继续找,苦心人天不负😂找了大概两个小时发现一篇讲php 数据库驱动的。 然后就去检查php的数据库驱动

在网上找到了一个这样的脚本http://www.q2zy.com/php-pdo驱动-mysqlnd折腾记

<?php
$hasMySQL = false;
$hasMySQLi = false;
$withMySQLnd = false;
$sentence='';

if (function_exists('mysql_connect')) {
    $hasMySQL = true;
    $sentence.= "(Deprecated) MySQL <b>is installed</b> ";
} else
    $sentence.= "(Deprecated) MySQL <b>is not</b> installed ";

if (function_exists('mysqli_connect')) {
    $hasMySQLi = true;
    $sentence.= "and the new (improved) MySQL <b>is installed</b>. ";
} else
    $sentence.= "and the new (improved) MySQL <b>is not installed</b>. ";

// 这句是关键,只有mysqlnd才提供了mysqli_fetch_all
if (function_exists('mysqli_fetch_all')) {
    $withMySQLnd = true;
    $sentence.= "This server is using MySQLnd as the driver.";
} else
    $sentence.= "This server is using libmysqlclient as the driver.";

echo $sentence;

一检测果然是驱动太旧了,再翻回当初php安装的文档。坑原来从一开始就挖下了

解决方案在上面的链接中

代码库-git