php - MySQL 中的 Where 子句使用 VARBINARY 列

标签 php mysql binary

我在 MySQL ip_address 中有一列是 VARBINARY(16),我正在尝试在 PHP< 中以它为条件执行 where 子句:

       $ip_address = inet_pton($ip_address);

       $SQL = "SELECT location,
                      added
                 FROM ips
                WHERE ip_address = BINARY '" . $ip_address . "'";

       ...

但是,这将返回 0 行。我做错了什么?

最佳答案

尝试使用 prepared statement :

$stmt = $conn->stmt_init();
$SQL = "SELECT location, added FROM ips WHERE ip_address = BINARY ?";
$stmt->prepare($sql);
$stmt->bind_param('s', $ip_address);
$stmt->bind_result($location, $added);
$stmt->execute();
$stmt->fetch();

关于php - MySQL 中的 Where 子句使用 VARBINARY 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212807/

相关文章:

php - 注销事件 (Laravel 7)

php - 如何在php消息系统中设置已读未读标志

php - MySQL 在表中显示每小时的条目数

java - 使用数组将二进制转换为十进制

c - 将有符号整数除以 2 的幂

javascript - 如何在 php 中通过 curl 发送请求负载

php - 在 PHP 中加速字符串搜索

mysql - Nodejs.Mysql 模块未安装

mysql - 在 where 子句中使用子查询

php - 从 MySQL 中的 BINARY 列检索数据并将其转换为 PHP 中的 Base64