sách gpt4 ai đã đi

php - mysql 查询手动工作,但从代码运行时不返回任何结果

In lại 作者:行者123 更新时间:2023-11-29 01:48:12 36 4
mua khóa gpt4 Nike

我使用带有“Like”的非常简单的查询来按名称查找产品

SELECT p_pid, p_name, p_cat
FROM products
WHERE p_sid=346 AND p_name LIKE 'product name here in utf-8 encoding, can be various languages'
LIMIT 1

当我从具有有效产品名称的代码运行此查询时,我没有得到任何结果。如果我复制查询(由 php 回显到浏览器)并在 mysql 查询浏览器中手动运行它,我会得到一个结果。知道我哪里错了吗?

Ghi chú:

1.查询没有错误。只是没有结果。2. 我正在使用 ezsql 库3. 代码运行良好,并在代码中的相同范围内成功地执行了与数据库的其他SELECT。

1 Câu trả lời

似乎是编码的问题。

尝试运行这个查询:

SELECT HEX(CAST('product name here in utf-8 encoding, can be various languages' AS BINARY))

hiện hữu ezSQL 和查询浏览器中比较结果。

这将为您提供 MySQL 真正从您的客户端获取并用于比较的二进制流。

如果您在 ezSQL 属性中设置了错误的连接编码,则字符串可能会被破坏(例如,问号而不是 UTF 符号)。

在这种情况下比较当然会失败。

làm mới:

尝试强制排序不区分大小写:

LỰA CHỌN *
FROM table
WHERE field LIKE 'product name here in utf-8 encoding, can be various languages' COLLATE UTF8_GENERAL_CI

此外,您能否发布您的字符串和字段中包含的数据的二进制转储?

SELECT p_pid, p_name, p_cat,
HEX(CAST(p_name AS BINARY)),
HEX(CAST('product name here in utf-8 encoding, can be various languages' AS BINARY))
FROM products
WHERE p_pid = @pid_of_product_that_should_match_but_it_doesnt

关于php - mysql 查询手动工作,但从代码运行时不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/931829/

36 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com