Heim > Backend-Entwicklung > PHP-Tutorial > mysql - thinkphp的where中使用id字段时的异常?

mysql - thinkphp的where中使用id字段时的异常?

WBOY
Freigeben: 2016-06-06 20:08:36
Original
1022 Leute haben es durchsucht

<code>    $n=M("Nav");
    $name=$n->where(array('id'=>4))->find();
    echo $n->getLastSql();
    </code>
Nach dem Login kopieren
Nach dem Login kopieren

输出的结果是:

<code>SELECT * FROM `aa_nav` LIMIT 1
</code>
Nach dem Login kopieren
Nach dem Login kopieren

为什么where条件没有了?
当我where条件不用数组,而用字符串的时候就没问题。

回复内容:

<code>    $n=M("Nav");
    $name=$n->where(array('id'=>4))->find();
    echo $n->getLastSql();
    </code>
Nach dem Login kopieren
Nach dem Login kopieren

输出的结果是:

<code>SELECT * FROM `aa_nav` LIMIT 1
</code>
Nach dem Login kopieren
Nach dem Login kopieren

为什么where条件没有了?
当我where条件不用数组,而用字符串的时候就没问题。

thinkphp 3.2.3 表示一切正常,可以用array

不清楚是否是版本问题,3.x版是不会有这个问题的。

<code>['id']=4</code>
Nach dem Login kopieren

应该可以

确认有id这个字段?

问题解决了,说明一下具体情况:
1.用mysql-front工具建的表,默认的情况下有一个自增的列名为"Id",而不是"id";
2.用thinkphp的where条件的时候,如果是用字符串的形式,应该是不区分大小写的,所以我把Id写成id也一样可以,但用数组的形成的时候是区分大小写的,大小写写错了就会出问题了。

另外,谢谢各位的回答。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage