我创建了一个准备好的选择查询,但该查询似乎没有接听,DESC
或者bind_param
结构错误。我正在尝试id
显示user_id图像的最后一个。显示用户的图像,但这是他们拥有的第一个id图像。我试着做ASC
,那是同一回事。
我这样做对吗?
$sql = "
SELECT *
FROM profile_img
WHERE user_id = ?
ORDER BY ? DESC LIMIT 1
";
if ($stmt = $con->prepare($sql)) {
$stmt->bind_param("ss", $user_id, `id`);
$stmt->execute();
if (!$stmt->errno) {
// Handle error here
}
$stmt->bind_result($id, $user_id, $profilePic);
$pics = array();
while ($stmt->fetch()) {
$pics[] = $profilePic;
}
echo '<img id="home-profile-pic" src=" '.$profilePic.'">';
}
我认为您不能:
You can use number instead of field name in the 'order by' clause
问题内容: 我已经使用预备语句尝试了几次,但是它返回SQL异常。这是我的代码: 运行此程序时,出现以下SQL异常: 有什么建议可以使这项工作吗?任何代码都值得赞赏。 问题答案: 您需要使用: 代替 当您将字符串传递给 该 查询时,将按字面意义执行查询,因此将其发送到数据库,然后数据库会产生错误。通过传递查询字符串,您不会执行传递值的“已缓存”准备语句。
我犯了什么错?
我有一个类,其中我使用旧的jdbc方法创建了到h2数据库的连接,该方法编写url并获取连接,我在数据库中创建了一个表,这个表不是java对象,所以我用尽了聪明的方法来为我的方法编写测试 //我还创建了一个表app_user公共void addUser(连接连接,字符串登录,字符串密码,字符串描述)抛出SQLException{ 而我的测试方法看起来像这样,有没有办法让它不那么整洁,更简单,我试图用
问题内容: 假设我们有一个查询: 以及要获取的ID数组: 预处理语句它劝准备一个语句,并调用它多次: 但是现在我必须手动对结果进行排序。我有其他不错的选择吗? 问题答案: 您可以这样进行: 使用此方法,您将为每个id调用bind_param,并且已由mysql完成排序。
问题内容: 这个问题已经在这里有了答案 : 从PDO准备好的语句中获取原始SQL查询字符串 (16个答案) 5个月前关闭。 有没有一种方法可以检索用于生成PDO Prepared语句对象的查询? 问题答案: 尝试$ statement-> queryString 。