Php 如何使用PDO执行中的整数GET?
我正在慢慢地尝试理解并从MySQL切换到PDO/MySQLi,现在我想尝试如何使用PDO 我想问您如何使用Php 如何使用PDO执行中的整数GET?,php,pdo,Php,Pdo,我正在慢慢地尝试理解并从MySQL切换到PDO/MySQLi,现在我想尝试如何使用PDO 我想问您如何使用$\u GET,它通常在执行中设置用户ID(编号)。据我所知,execute只接受字符串,所以我用PDO::PARAM_INT $q = $dbh->prepare('SELECT `content` FROM `inventory` WHERE `id` = ?'); $q->execute(array($_GET['u_id'], PDO::PARAM_INT)); 不
$\u GET
,它通常在执行中设置用户ID(编号)。据我所知,execute
只接受字符串,所以我用PDO::PARAM_INT
$q = $dbh->prepare('SELECT `content` FROM `inventory` WHERE `id` = ?');
$q->execute(array($_GET['u_id'], PDO::PARAM_INT));
不幸的是,它没有修复它。它是否缺少一个参数?它给我的答复如下:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in X on line Y
在使用$q->bindParam()
时,您将使用PDO::PARAM_INT
,但您没有这样做:
$q->bindParam(1, $_GET['u_id'], PDO::PARAM_INT);
$q->execute();
在这里,您可以将其清除:
$q->execute(array($_GET['u_id']));
.当使用$q->bindParam()
时,您将使用PDO::PARAM_INT
,但您没有这样做:
$q->bindParam(1, $_GET['u_id'], PDO::PARAM_INT);
$q->execute();
在这里,您可以将其清除:
$q->execute(array($_GET['u_id']));
.类型说明符仅适用于bindParam。它在数组列表之外没有意义;它将被忽略。类型说明符仅适用于bindParam。它在数组列表之外没有意义;它将被忽略。