gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:31:06 24 4
gpt4 key购买 nike

我有一个用户对象,看起来像这样。

$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

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

INSERT INTO users VALUES (?, ?, ?, ?, ?)

然后我获取我的 $user 对象并从它拥有的所有属性中创建一个数组,并将该数组提供给执行参数中的 PDO 准备语句。这工作正常,函数将数据插入数据库。

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

最佳答案

将您的可选 mysql 字段设置为接受 NULL。

关于php - 我可以让 mysql 对它接收的数据类型不那么严格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12132811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com