我遇到了问题,下面的代码没有给我任何结果。但是,如果我取消注释掉指定的行,并注释掉bind_param行,它就可以工作了,但是这不是违背了mysqli的目的吗?我的var_dump给了我的字符串(1) "1“
function teams($mysqli, $league_id) {
echo 'league id = ' . var_dump($league_id);
$sql = "SELECT team_id, team_name FROM teams where league_id='?'";
// $sql = "SELECT team_id, team_name FROM teams where league_id='".$league_id."'";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('i', $league_id);
$stmt->execute();
$stmt->bind_result($col1, $col2);
while($stmt->fetch()) {
$results[] = array(
'team_id' => $col1,
'team_name' => $col2
);
}
$stmt->close();
var_dump($results);
return $results;
}发布于 2012-04-05 12:08:19
函数bool mysqli_stmt::bind_param ( string $types,mixed &$var1,mixed &$... )
接受以下$types
类型规范字符
字符描述
i对应变量的类型为整数
D对应变量的类型为double
的对应变量具有字符串类型
B对应的变量是blob,将以包的形式发送
您正在将$types指定为'i‘,并将该值作为字符串放在单引号中。删除引号并尝试将$league_id转换为int值。
http://php.net/manual/en/mysqli-stmt.bind-param.php
编码快乐!!
https://stackoverflow.com/questions/10022457
复制相似问题