php – 我可以让mysql对它收到的数据类型不那么严格吗?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 我可以让mysql对它收到的数据类型不那么严格吗?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户看起来像这样的对象.

$user = new User();
$user->name = 'Name';
$user->age = 34;

在我的数据库中有五个字段,

id,name,age,location,reputation

我有一个方法(对于我的所有表)使用以下sql从表中动态收集所有字段.这样我就可以动态地获取要放在INSERT语句中的占位符数.

SHOW FIELDS From users
SHOW FIELDS From questions
SHOW FIELDS FROM topics

然后我编写了一个create方法,它计算表中字段的数量,并准备一个充满占位符的字符串,并自动将其插入到我的PDO查询中,使得:

INSERT INTO users VALUES (?,?,?)

然后我接受我的$user对象并从它拥有的所有属性中创建一个数组,并将该数组提供给execute参数中的PDO预处理语句.这工作正常,该函数将数据插入数据库.

我的问题是,有时我还没有填充我的对象的所有属性,因此我填充了用空字符串提供执行函数的数组的其余部分.当它到达一个取整数的字段时,它会导致致命错误并且不起作用.如果不为代码中的每个字段编写正确的数据类型,我能够动态地将空字段插入到我的数据库中,该怎么办?因为这一切都是动态完成的,所以我不能提前知道在那里放一个整数或一个空字符串.有没有办法完全省略一些占位符?还有其他方法吗?

解决方法

将可选的MysqL字段设置为接受NULL.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 我可以让mysql对它收到的数据类型不那么严格吗?全部内容,希望文章能够帮你解决php – 我可以让mysql对它收到的数据类型不那么严格吗?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。