【发布时间】:2019-03-27 05:33:59
【问题描述】:
我正在使用 php pdo 和 mysql,我想使用 like 语句再选择一列。目前我有这个查询。这个查询工作正常。
$get_name = $db->prepare("SELECT dou.businessName, m.ownerid FROM dineOwnerUser AS dou INNER JOIN menu AS m ON dou.id = m.ownerid WHERE
(m.firstFood LIKE '%$text%'
OR m.secondFood LIKE '%$text%'
OR m.thirdFood LIKE '%$text%'
OR m.fourthFood LIKE '%$text%'
OR m.fifthFood LIKE '%$text%'
OR m.sixthFood LIKE '%$text%'
OR m.seventhFood LIKE '%$text%'
OR m.eightFood LIKE '%$text%'
OR m.ninthFood LIKE '%$text%'
OR m.tenthFood LIKE '%$text%')");
正如您现在所看到的,我在食物栏的帮助下只获得了企业名称和所有者 ID。现在我想选择用户输入的确切列,但我不知道如何对该确切列进行排序并从我尝试过的几列中选择它。
SELECT dou.businessName , m.ownerid,
(m.firstFood LIKE '%$text%'
OR m.secondFood LIKE '%$text%'
OR m.thirdFood LIKE '%$text%'
OR m.fourthFood LIKE '%$text%'
OR m.fifthFood LIKE '%$text%'
OR m.sixthFood LIKE '%$text%'
OR m.seventhFood LIKE '%$text%'
OR m.eightFood LIKE '%$text%'
OR m.ninthFood LIKE '%$text%'
OR m.tenthFood LIKE '%$text%') FROM dineOwnerUser AS dou INNER JOIN menu AS m ON m.ownerid = dou.id WHERE
(m.firstFood LIKE '%$text%'
OR m.secondFood LIKE '%$text%'
OR m.thirdFood LIKE '%$text%'
OR m.fourthFood LIKE '%$text%'
OR m.fifthFood LIKE '%$text%'
OR m.sixthFood LIKE '%$text%'
OR m.seventhFood LIKE '%$text%'
OR m.eightFood LIKE '%$text%'
OR m.ninthFood LIKE '%$text%'
OR m.tenthFood LIKE '%$text%')
但它没有选择所需的列。 注意:“%text%”来自表单输入字段,一切正常,我只需要正确的 mysql 查询。
已编辑:基本上我想选择确切的食物列,假设用户输入 b,biryani 在“secondFood”列中,所以我想沿着 businessName 和 m.ownerid 选择该列。
【问题讨论】:
-
食物栏编号?您是否错过了创建新表(可能带有数字列)并加入它的机会。
-
dineOwnerUser's id is fk in menu table with name of ownerid(来自dineOwnerUser表)
-
{first,second,third....tenth}food - 似乎应该有一个
food( item VARCHAR, num UNSIGNED INT)表,而不是全部都在菜单表中。 -
this is menu table # Name Type Collation Attributes Null Default Comments Extra 1 idPrimary int(11) UNSIGNED No None AUTO_INCREMENT 2 firstFood varchar(30) utf8mb4_unicode_ci 是 NULL 3 priceone varchar(10) utf8mb4_unicode_ci 是 NULL 4 secondFood varchar(30) utf8mb4_unicode_ci 是 NULL
-
这是 dineowneruser 表。 # Name Type Collation Attributes Null Default Comments Extra 1 idPrimary int(11) No None AUTO_INCREMENT 2 firstName varchar(25) utf8mb4_unicode_ci No None 3 lastName varchar(25) utf8mb4_unicode_ci No None 4 email varchar(60) utf8mb4_unicode_ci No None 5 password varchar(255 ) utf8mb4_unicode_ci 无 无 6 businessName varchar(70) utf8mb4_unicode_ci 无 无
标签: php mysql mysqli mysql-workbench mysql-python