我尝试在PHP中执行此操作,但我一直返回0行。然后经过一段时间在StackOverflow上搜索,我看到了一个提示尝试在SQL中首先查看结果是否正确返回。
我尝试在SQL中执行它并且它一直返回一个空的结果集,即使值存在。
SQL
SELECT * FROM `serials_table` WHERE `ser_key`='ABCD-EFGH-IJKL-MNOP'
PHP
$result = $link->query("SELECT * FROM serials_table WHERE ser_key='$key'");
两者都返回空值。
ser_key列设置为文本类型,coallition:utf8_unicode_ci,Null:否,默认值:无
序列密钥条目位于那里,列'ser_key'以及表'serials_table'存在。此外,我直接从表中复制粘贴序列密钥并将其放入查询中以避免任何拼写错误。
我是否在表结构中出现了一些错误?
我不知道该怎么做,任何帮助都会受到赞赏。
答案 0 :(得分:1)
尝试
SELECT * FROM `serials_table` WHERE TRIM(`ser_key`)='ABCD-EFGH-IJKL-MNOP'
删除空格
UPDATE `serials_table` set `ser_key`= TRIM(`ser_key`);
答案 1 :(得分:1)
当这工作时
SELECT * FROM serials_table WHERE ser_key like '%ABCD-EFGH-IJKL-MNOP%'
然后您的数据中有前导或尾随空格。
要还原您的现有表数据,请按此
update serials_table
set ser_key = trim(ser_key)
之后检查您插入或更新ser_key
的位置。在该代码段中,检查是否只将修剪后的数据放入其中。