我有以下代码:PDO和动态请求不起作用
$sth = $dbh->prepare('SELECT COUNT(*) as size FROM `users` WHERE uid = :uidVal');
$sth->bindValue(':uidVal', $_POST['uid'], PDO::PARAM_INT);
// $_POST['uid'] == 2147483647
$sth->execute();
$size = $sth->fetchAll();
print_r($size);
的的print_r()的返回:
阵列([0] =>数组([尺寸] => 0 [0] => 0))
但是,这是我的数据的基础上(MySQL的)
我不明白为什么我的COUNT(*)
返回0,通常它应该返回3?
EDIT(基于评论)
这是select语句后,我的代码:
$stmt = $dbh->prepare("INSERT INTO `users` (uid, uname) VALUES (?, ?)");
$stmt->bindParam(1, $uid);
$stmt->bindParam(2, $name);
// insertion d'une ligne
$name = $_POST['uname'];
$uid = $_POST['uid'];
$stmt->execute();
为什么到我的数据库中的UID值是2147483647
,而在我的$的UID值_POST是10152434954117198
@留在代码中。 – Daan 2014-09-23 13:02:01
仔细检查'$ _POST ['uid']' – Mihai 2014-09-23 13:08:01
@Debflav我在等待一个结果是的,计数(*) – R3tep 2014-09-23 13:10:45