我想知道如何在 MySQL + PDO 中获取警告计数。
在控制台中进行查询时,我遇到了警告,寻找 varchar 而没有添加撇号(' '
)。
mysql> describe keywords;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| document_id | int(11) | NO | MUL | NULL | |
| keyword | char(50) | NO | | NULL | |
| value | varchar(250) | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql> select * from keywords where value = 1234567890;
+-----+-------------+--------------------+------------+
| id | document_id | keyword | value |
+-----+-------------+--------------------+------------+
| 311 | 71 | Nº de Operacion | 1234567890 |
+-----+-------------+--------------------+------------+
1 row in set, 12 warnings (0.00 sec)
mysql> show warnings;
+---------+------+---------------------------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: '1234-0' |
我有一个参数化查询,我想知道该查询是否也在生成警告,或者在参数化时值是字符串还是整数都没有关系。
例子:
'SELECT * FROM keywords WHERE value = :value'
适用于搜索整数和字符串,或者我应该添加撇号:
'SELECT * FROM keywords WHERE value = \':value\''
用于搜索 varchar。顺便说一句,没有给出结果。