gpt4 book ai didi

PHP mysql PDO 拒绝设置 NULL 值

转载 作者:IT王子 更新时间:2023-10-28 23:43:58 28 4
gpt4 key购买 nike

我无法使用 mysql pdo 将默认值为 null 的可空字段设置为 null。我可以直接使用 sql 来完成。

我试过:(主要来自这个问题How do I insert NULL values using PDO?)

  1. 空整数

    bindValue(':param', null, PDO::PARAM_INT);
  2. 为空为空

    bindValue(':param', null, PDO::PARAM_NULL);
  3. '空',整数

    bindValue(':param', 'NULL', PDO::PARAM_INT);
  4. '空', 空

    bindValue(':param', 'NULL', PDO::PARAM_NULL);
  5. 为空

    bindValue(':param', null);
  6. '空'

    bindValue(':param', 'NULL');
  7. 以及 5 和 6 的 bindParam 对应项,其中包含一个保存绑定(bind)值的变量。

PDO 中的所有内容都会导致值设置为 0。

PHP 版本: PHP 5.3.2-1ubuntu4.10

MYSQL 服务器版本: 5.1.63-0ubuntu0.10.04.1

编辑栏目信息截图

Picture

最佳答案

以下对我有用:

<?php

$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "pass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$stmt = $pdo->prepare("INSERT INTO `null_test` (`can_be_null`) VALUES (:null)");
$stmt->bindValue(":null", null, PDO::PARAM_NULL);

$stmt->execute();

传入 PHP 的 null,类型为 PDO::PARAM_NULL。此外,请确保您的准备模拟设置为 false。这可能会有所帮助。

关于PHP mysql PDO 拒绝设置 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11692773/

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