【问题标题】:PHP binding 'bigint' datatype (MySQLi prepared statement)PHP 绑定 'bigint' 数据类型(MySQLi 准备好的语句)
【发布时间】:2013-11-23 08:51:37
【问题描述】:
$studentId = 57004542323382
$companyOfferId = 7

$sql = 'INSERT INTO studentPlacement (companyOfferId, studentId) VALUES (?, ?)';

if ($stmt = $db->prepare($sql)) {
    $stmt->bind_param("ii", $offerId, $studentId);
    $stmt->execute();
    $insertId = $stmt->insert_id;
    $stmt->close();
}

我的问题在于 studentId 变量。它的值太长,无法存储为标准整数,因此必须存储为 bigint。将参数绑定为整数时,只需输入“1”作为 studentId 值。据我了解bind_param 支持 4 种类型;整数、字符串、blob 和双精度。是否有人对我如何解决这个问题有任何想法,以便我可以正确地将值作为 bigint 发送?

谢谢

【问题讨论】:

  • 因为你是32位平台,切换到64就可以了。
  • 如果这是您的实际代码,请务必用分号结束前两行。 只是说 ;-)
  • @Fred-ii- 哈哈,不是的,我实际上添加了这些行作为示例,以节省我在整个文档中的复制。谢谢你的解析;)
  • 我的荣幸。不得不问;-)

标签: php mysql sql mysqli


【解决方案1】:

使用$studentId = '57004542323382'; // quotes added 和字符串参数进行绑定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多