我在mySql中有一个名为 Customer 的表。 这是表格:
-------------------------------------------------
| ID | COMPANY_NAME | STATUS |
-------------------------------------------------
| 1 | HUMBAHAS MAN | ACTIVE |
| 2 | HUMBAHAS MAN, CO | NOT-ACTIVE |
我正在尝试根据 company_name 作为条件获取状态列的数据。
但我需要公司名称不是敏感案例,因此我使用HUMBAHAS
或HUMBAHAS MAN, CO
我已成功使用此
获取数据示例:
SELECT
status
FROMcustomer
WHEREcompany_name
LIKE'%HUMBAHAS%LIMIT 1'
我会在mySql中得到这样的结果:
----------------
| STATUS |
----------------
| ACTIVE |
但我在PHP中得到了一个空数组。 这是我在PHPScript中使用的代码
$connection = \Yii::$app->db;
$sql = $connection->createCommand("SELECT status from customer WHERE company_name = '%$nama%' LIMIT 1");
$exec = $sql->queryColumn();
print_r($exec);
//result
Array
(
)
任何帮助将不胜感激。感谢
答案 0 :(得分:1)
您在查询中使用“=”而不是 LIKE 进行字符串匹配。
只需替换
$sql = $connection->createCommand("SELECT status from customer WHERE company_name = '%$nama%'
LIMIT 1");
带
$sql = $connection->createCommand("SELECT status from customer WHERE company_name like '%$nama%'
LIMIT 1");
它适用于你。
答案 1 :(得分:1)
$sql = $connection->createCommand("SELECT status from customer WHERE company_name LIKE '%".$nama."%' LIMIT 1");
试试这个
答案 2 :(得分:0)
你应该这样输入:
$sql="SELECT * FROM `articles` WHERE `title` LIKE '?'"; $result= $conn->prepare($sql); $result->bindValue(1,''%text%''); $result->execute();
它会起作用。
%text%
END