Php 列的整数值不正确

Php 列的整数值不正确,php,mysql,Php,Mysql,当我在center\u id中以单引号提交null(不是自动递增列)时,它会给我 错误列center\u id的整数值不正确,当我只写这样的变量时 center_id = $center_id 它给出了一个mysql错误。 请告诉我我做错了什么,或者提出一些建议。 下面是我的问题 Insert into parent_details set center_id='$center_id',name='$name',pin='$pin' 提前感谢。数字和nulls不应该被引用,字符串应该被引用。

当我在
center\u id
中以单引号提交
null
(不是自动递增列)时,它会给我 错误列
center\u id
的整数值不正确,当我只写这样的变量时

center_id = $center_id
它给出了一个mysql错误。 请告诉我我做错了什么,或者提出一些建议。 下面是我的问题

Insert into parent_details set center_id='$center_id',name='$name',pin='$pin'

提前感谢。

数字和
null
s不应该被引用,字符串应该被引用。此外,插入的语法错误:

INSERT INTO parent_details (center_id, name, pin)
VALUES ($center_id, '$name', $pin)

字段
center\u id
数据类型为
int
,但您可以插入字符串或特殊字符,因为这会导致上述错误。请在代码下方使用,尝试将整数插入到
center\u id
列中

insert into parent_details (center_id,name,pin) VALUES ($center_id, $name, $pin)

如果您使用的是预先准备好的语句,那么首先就不应该有这个问题:

$stmt = $db->prepare('Insert into parent_details 
    set center_id=:center, name=:name, pin=:pin');

$stmt->execute([
    ':center' => null,
    ':name' => 'foo',
    ':pin' => 'bar',
]);

NULL不带引号,还要检查您的列是否具有属性
not NULL
,在这种情况下它不会接受NULL值。中心id的数据类型是什么?如果
center\u id
int
数据类型,您不需要将值加引号。您可以分享您正在使用的实际php代码以及您正在尝试完成的任务吗?Center_id数据类型为int,允许为null(默认为null),当我不加引号时,它会给我一个错误,您在第1行的pin附近的mysql语法中有错误。。。。。。。。。。。。。。。。