我有一个数据库(mydb),其中包含以下数据:
PK:
我必须将这些数据与变量$id
进行比较,例如:2724296
SELECT * FROM mydb WHERE PK = '$id';
当然,此查询不会传递结果。有没有一种简单的方法来比较我的$ id与大括号中的值和没有大括号的值?选择中的替换替换为例如只有支撑,但不是支撑的值。
Greets,Yab86
答案 0 :(得分:1)
您可以使用REGEXP。试试这个查询,
$query = "SELECT * FROM mydb WHERE PK REGEXP '({$id})' OR PK REGEXP '-{$id}'";
答案 1 :(得分:1)
您可以在下面使用:
SELECT * FROM mydb WHERE PK LIKE'%(2724296)';
下面有点复杂:使用正则表达式
SELECT * FROM mydb WHERE PK REGEXP'[(] 2724296 [)]';
请参阅此https://dev.mysql.com/doc/refman/5.1/en/regexp.html以编写可自定义的正则表达式。
答案 2 :(得分:0)
我会尝试正则表达式(假设您只想检查括号内的数字)。这样的事情应该有效:
\([0-9]*\)$
这将返回一个以(后跟一个或多个数字并以其结尾)开头的字符串。然后,您应该能够从字符串中删除括号并将其与变量
进行比较