Php 为什么主键值返回字符串上的_int?
我想检查数据库中的成员id是否为整数,但当我对该数据使用Php 为什么主键值返回字符串上的_int?,php,mysql,Php,Mysql,我想检查数据库中的成员id是否为整数,但当我对该数据使用is_int函数时,它会返回false。。主键应该是int no $query = $sql->prepare("SELECT * FROM `blog` WHERE `categorie` = 'Dossier' ORDER BY `date_ajout` DESC LIMIT " . $offset . "," . $page_result . " "); $query->bindValue(':offset', $o
is_int
函数时,它会返回false。。主键应该是int no
$query = $sql->prepare("SELECT * FROM `blog` WHERE `categorie` = 'Dossier' ORDER BY `date_ajout` DESC LIMIT " . $offset . "," . $page_result . " ");
$query->bindValue(':offset', $offset, PDO::PARAM_INT);
$query->bindValue(':page_result', $page_result, PDO::PARAM_INT);
$query->execute();
$data = $query->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $key => $value) {
$id = is_int($value['id']);
var_dump($id);
echo $id;
}
我找到了一个解决方案:
if ((is_int($value['id']) != true)) {
$id = intval($value['id']);
}
现在,没事了我找到了一个解决方案:
if ((is_int($value['id']) != true)) {
$id = intval($value['id']);
}
现在,没关系了为了让PHP正确地表示来自MySQL的数据类型,您需要安装MySQL本机驱动程序(mysqlnd) 链接: 当您没有安装本机驱动程序时,PHP必须猜测其类型。最安全的类型是
string
可以确定某事物的字符串表示形式是否实际上是数字的函数是是\u numeric
或者,正如您所做的那样,您可以使用
intval($variable)
或(int)$variable
将类型强制为整数。为了让PHP正确表示来自MySQL的数据类型,您需要安装MySQL本机驱动程序(mysqlnd)
链接:
当您没有安装本机驱动程序时,PHP必须猜测其类型。最安全的类型是string
可以确定某事物的字符串表示形式是否实际上是数字的函数是是\u numeric
或者,正如您所做的那样,您可以使用
intval($variable)
或(int)$variable
将类型强制为整数,您需要使用是否为数字?注意:要测试变量是数字还是数字字符串(例如表单输入,它始终是字符串),必须使用is_numeric()
var_dump($value['id'])代码>或变量转储($id)代码>你想在这里做的是一个while
循环(不是foreach),在循环中,if
并检查特定的行。大讨论:一般来说,不管表中定义的数据类型如何,PHP的MySQL驱动程序总是将行值作为字符串。你需要使用是数字的吗?注意:要测试变量是数字还是数字字符串(例如表单输入,它始终是字符串),必须使用is_numeric()
var_dump($value['id'])代码>或变量转储($id)代码>你想在这里做的是一个while
循环(不是foreach),在循环中,if
并检查特定的行。无意义的大讨论:)一般来说,不管表中定义的数据类型如何,PHP的MySQL驱动程序总是将行值作为字符串。哦,是的,我确实安装了mysqlnd
。哦,是的,我确实安装了mysqlnd
。