我有两个表用户和发布
function get_user_history($email){
$stmt = $this->conn->prepare("SELECT p.video_url, p.comments, p.post_date, p.views FROM `post` as p INNER JOIN users as u ON u.user_id = p.user_id WHERE u.email = ?");
$stmt->bind_param("i", $email);
$stmt->execute();
return $stmt;
}
$result = get_user_history("ssntpl.com@gmail.com");
它应该只返回两行 post_id 15和16 ,但它返回post表中的所有行。如果我使用一个简单的选择查询,那么它工作得很好。但是我使用连接查询时工作不正确。 我无法调试它。请给我正确的解决方案
答案 0 :(得分:3)
您对数字使用了错误的参数类型i
。您的邮件地址是一个字符串,因此您必须使用s
(相应的变量具有类型字符串)。
$stmt->bind_param("s", $email);
类型: 包含一个或多个字符的字符串,用于指定相应绑定变量的类型:
类型规范字符
Char Description
i corresponding variable has type integer
d corresponding variable has type double
s corresponding variable has type string
b corresponding variable is a blob and will be sent in packets
嗯有很多网站,我更喜欢简单的http://php.net/manual/