如何在SELECT php mysql中子字符串WHERE

时间:2015-04-14 09:01:01

标签: php mysql

我的表中有一列kd_barang2作为id。值如下:010000101。

我想选择前7个数字(0100001),然后显示它。

要选择的脚本如下:

$queryalat1="select * from tb_master
  where kd_barang2 = '".$data1['kd_barang2']."'
  && jenis_barang='alat habis pakai'
  Group by merk_barang";

然后我尝试了这种代码

$queryalat1="select * from tb_master
  where SUBSTRING(kd_barang2,0,7) = '".substr($data1['kd_barang2'],0,7)."'
  && jenis_barang='alat habis pakai'
  Group by merk_barang";

但它失败了,因为它没有在我的表格中显示任何数据。

3 个答案:

答案 0 :(得分:2)

尝试

$queryalat1="select * from tb_master where LEFT(kd_barang2,8) = '".substr($data1['kd_barang2'],0,7)."' && jenis_barang='alat habis pakai' Group by merk_barang";

答案 1 :(得分:2)

您使用MySQL的SUBSTRING函数时启动值错误。在PHP substr()中将从零开始,但在MySQL中它以1开头。所以你需要使用SUBSTRING(kd_barang2, 1, 7)

答案 2 :(得分:2)

试试这个..
$ queryalat1 =“select * from tb_master
  left(kd_barang2,7)='“。substr($ data1 ['kd_barang2'],0,7)。”'
  &安培;&安培; jenis_barang ='alat habis pakai'
  由merk_barang分组“;